ETL / подход к хранилищу данных с использованием API
У меня есть около 20 различных источников данных, все небольшие приложения, которые имеют API (некоторые soap и некоторые rest). Мне нужно объединить все эти данные, преобразовать их и сохранить в хранилище данных. Я рассматриваю базу данных SQL Azure. Однако я не уверен, какой инструмент я могу использовать, чтобы на самом деле получить API и данные. Каждый источник данных имеет ограничения с точки зрения соединений, которые могут быть сделаны в течение дня, и большинство из этих API требуют запуска нескольких API для получения данных.
Я посмотрел на Фабрика данных Azure - - - - она не поддерживает API SOAP Я посмотрел на логике приложения ---- я не уверен, что он может выполнять сложные электропередач и может получать данные
Другой вариант, о котором я думал, - это установить виртуальную машину Azure с SQL Server, а затем использовать Talend для получения данных через соединители REST и SOAP и выполнить ETLs. Другой подход я могу взять это вместо того, чтобы использовать Talend, использование служб SSIS. Но я считаю, что мне также понадобятся сторонние разъемы для отдыха и мыла.
Я смотрю для самого рентабельного и масштабируемого решения.
Любое предложение было бы чрезвычайно полезно.
1 ответ:
Фабрика данных Azure (в настоящее время) - это скорее оркестратор действий преобразования, чем полноценный инструмент ETL, и она может запускать пользовательские действия (например, в C#), которые могут работать с API веб-служб. Он все время движется вперед. Смотрите здесь:
Https://docs.microsoft.com/en-us/azure/data-factory/data-factory-use-custom-activities
Использование фабрики данных Azure для получения данных из REST API
Однако вы правы, что учитывая масштаб вашего преобразования, вы можете рассмотреть альтернативу. На момент выступления я не думаю, что многие люди раскололи гайку о том, как правильно воспроизвести сложный локальный опыт ETL в облаке-но это быстро изменится.
Другой вариант, который вы упомянули, будет работать (виртуальная машина Azure IaaS с установленным программным обеспечением ETL). Для Talend вам не потребуется устанавливать SQL Server, если только вы не хотите хранить данные там, а не в базе данных SQL Azure. Он поставляется предварительно загруженным с большим количеством разъемы и является хорошим вариантом, если у вас есть Таленд навыки.
Альтернативно SSIS также будет работать: его предварительно загруженная задача веб-службы покрывает API SOAP https://www.mssqltips.com/sqlservertip/3272/example-using-web-services-with-sql-server-integration-services/ и вы можете либо использовать стороннюю задачу / коннектор для REST, либо использовать задачу/преобразование скрипта, то есть свой собственный пользовательский код C#.