Не удалось выполнить параллельные задания Azure Data Lake U-SQL - PullRequest
0 голосов
/ 24 июня 2019

мы выполняем задание u-sql через ADF, который читает папку с файлом Avro и преобразует данные в csv.Запуск одновременных заданий, чтение из разных папок и вывод в разные папки вызвали следующую ошибку

FinalMetadataOperationUserError: Failed to write job meta-data due to user error

Component
JobManager_User

Message
Failed to write job meta-data due to user error

Description
Version of object ddc1c212-b227-4b0b-8199-58bde69ce2e1.master.Avro doesn't exist

   at Scope.MetadataService.Client.Usql.WcfBasedMetadataClientForUsql.ExecuteMetadataJob(MetadataJob mdJob)
   at MetaDataExecutor.RealMetaDataExecutor.Execute(MetadataJob job)
   at MetaDataExecutor.Committer.Commit(MetadataJob job)

Job URL
https://***.azuredatalakeanalytics.net/jobLink/8b604ae4-179d-4375-a68a-c1b6771473ca

При проверке ресурсов задания папка 8b604ae4 ... Indeeed имеет dll Avro.Кто-нибудь понимает это сообщение об ошибке или как мы можем настроить ADF для запуска параллельных заданий u-sql?Наш конвейер довольно прост, как показано на рисунке ниже enter image description here

Спасибо!

1 Ответ

0 голосов
/ 11 июля 2019

Вам необходимо зарегистрировать dll в базе данных, в которой работает ваш ADF.

Поэтому загрузите dll в ADF, например "@CFG \ Assemblies", и создайте сценарий для его регистрации.

DROP ASSEMBLY IF EXISTS [Avro];

CREATE ASSEMBLY [Avro] FROM @"Assemblies/Avro.dll";

Запустите скрипт один раз, и эта сборка будет зарегистрирована в базе данных.

Редактировать: , если вы хотите выводить в другие папки, убедитесь, что вы используете SET @@FeaturePreviews = "DataPartitionedOutput:on";в вашем коде U-SQL.

...