Как загрузить в хранилище данных SQL Azure данные, хранящиеся в формате JSON в BLOB-объектах Azure?

У меня есть куча данных, хранящихся в виде файла JSON в BLOB-объектах Azure. Я хочу загрузить их в хранилище данных SQL Azure, но хранилище данных SQL Azure, похоже, не принимает входные файлы JSON.

Каков наилучший подход?

Решения, которые я изучил:

1) Использование фабрики данных Azure с настраиваемыми действиями (например, https://github.com/Azure/azure-content/blob/master/articles/data-factory/data-factory-use-custom-activities.md) Но, похоже, немного "накладных расходов" на вращение кластера HDInsight для этого (а также я предпочитаю использовать JavaScript, а не решение C#).

2) Написание API-приложения Azure (или пользовательского кода) для преобразования файла в CSV, а затем написание сценария внешней таблицы для загрузки его в хранилище данных SQL Azure, а затем удаление файла CSV. Я не уверен, что мне нужно сохранить этот файл CSV для дальнейшего использования.

Есть лучшие предложения?

2 ответа

Решение

Вы можете использовать фабрику данных Azure для преобразования данных BLOB-объектов json в csv, а затем вставить их в хранилище данных SQL Azure.

Ваш конвейер будет иметь одну операцию копирования, один набор данных json AzureBlob и одну AzureSqlDWTable.

Важно добавить сопоставление столбцов с правилами переводчика в операцию копирования.

Я бы предпочел второй вариант. Задания в Azure Web кажутся хорошим вариантом. Он работает в той же среде, что и веб-приложения. Вы можете просто заархивировать папку с консольным приложением, сценарием PowerShell или сценарием bash и его зависимостями и запланировать его как пакет или запустить его непрерывно. Если вы находитесь в C#, вы можете даже использовать Azure SDK 1.1 для обработки больших двоичных объектов в виде потоков: https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-storage-blobs-how-to/

Другие вопросы по тегам