U- SQL Пользовательская функция в Azure фабрике данных - PullRequest
0 голосов
/ 13 марта 2020

В настоящее время я использую Azure фабрику данных для задания ETL, и в конце я хочу запустить задание U- SQL. Я создал свой сценарий datalake.u sql, и пользовательские функции, используемые сценарием, находятся в файле datalake.u sql .cs, той же структуре, что и проект U- SQL в Visual Studio (где я разработал задание U- SQL и успешно запустил его.)

После этого я загрузил их обоих в Azure хранилище BLOB-объектов и настроил шаг U- SQL в Azure фабрике данных на используйте скрипт U- SQL, но он не видит datalake.u sql .cs с моими UDF.

Как я могу это сделать?

1 Ответ

0 голосов
/ 16 марта 2020

Я понял это, поэтому я опубликую ответ здесь, если у кого-то еще будет эта проблема в будущем.

Когда вы разрабатываете локально, у вас есть script.u sql и Файл script.u sql .cs. Когда вы запускаете его, Visual Studio выполняет всю тяжелую работу, компилирует все это удобным способом и ваш скрипт запускается. Но когда вы пытаетесь запустить скрипт из Azure фабрики данных, вы не можете выполнить эту компиляцию на лету, как это делает Visual Studio.

Решением этой проблемы является создание сборки, файл .dll из вашего script.u sql .cs, загрузите его в хранилище данных, которое вы используете, и зарегистрируйте его в каталоге U- SQL. Затем вы можете ссылаться на эту сборку и использовать ее в обычном режиме, как на своем локальном компьютере.

Все необходимые шаги для этого представлены в следующих кратких руководствах:

https://saveenr.gitbooks.io/usql-tutorial/content/usql-catalog/intro.html

https://saveenr.gitbooks.io/usql-tutorial/content/usql-catalog/usql-databases.html

https://saveenr.gitbooks.io/usql-tutorial/content/usql-catalog/assemblies.html

https://www.c-sharpcorner.com/UploadFile/1e050f/creating-and-using-dll-class-library-in-C-Sharp/

...