Python Azure функция обработки хранилища больших двоичных объектов - PullRequest
0 голосов
/ 24 января 2019

Я пытаюсь создать конвейер, используя фабрику данных. В MS Azure обработка данных в хранилище больших двоичных объектов, а затем выполнение кода / алгоритма обработки данных на python и последующая отправка их в другой источник.

Мой вопросздесь, как я могу сделать то же самое в приложениях функции Azure?Или есть лучший способ сделать это?

Заранее спасибо.

Шьям

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Да, вы можете сделать это. Недавно я работал над созданием конвейера фабрики данных (ADF), который извлекает данные из хранилища больших двоичных объектов и передает их в Snowflake. Поскольку это хороший конкретный пример, Snowflake имеет несколько коннекторов (включая Python), которые позволяют подключаться к нему и выполнять запросы (именно так вы создаете этап для извлечения данных из Azure). Вот документация Снежинки: https://docs.snowflake.net/manuals/user-guide/data-load-azure-create-stage.html.

Вы можете следовать документации по созданию функции Azure в Python: https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-function-python, а затем заменить любой код, который вы хотите написать, чтобы переместить ваши данные в другое место. Следует отметить, что в настоящее время это невозможно сделать на портале (хотя Microsoft упоминает, что это то, что они надеются исправить в ближайшее время). Вы можете сделать это для любых других конечных точек, для которых вы хотите переместить ваши данные (это только пример).

В моем случае я использовал операцию копирования ADF для извлечения данных с локального файлового сервера в хранилище больших двоичных объектов. После этого я создал функцию Azure (Python), которая подключалась к Snowflake, и просто использовал запросы SnowSQL для создания формата файла, создания этапа Azure и копирования из этапа в таблицу (уже созданную). Конечно, для Snowflake вы можете просто выполнить все эти запросы в рабочей таблице с портала, но если вы хотите, чтобы весь ваш код хранился в ADF (и вы используете Snowflake), то это хороший способ сделать это:

  1. Импорт:
import logging
import snowflake.connector 
import azure.functions as func
...
  1. Настройка подключения Snowflake и выполнение запросов (просто вставьте код в функцию «main»):
con = snowflake.connector.connect(
        user='user',
        password='password',
        account='account'
        )
cs = con.cursor()
try: 
    cs.execute("USE WAREHOUSE ...")
    cs.execute("USE DATABASE ...")
    ...
finally:
    cs.close()
con.close()
0 голосов
/ 14 февраля 2019

Я создал Flask API и через него вызвал свой код на Python.А затем поместите его в Azure в качестве веб-приложения и вызовите blob.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...