Запуск сценария U-SQL из кода C # с фабрикой данных Azure

Я пытаюсь запустить сценарий U-SQL в Azure с помощью кода C #. Все создается в Azure (ADF, связанные службы, конвейеры, наборы данных) после выполнения кода, но сценарий U-SQl не выполняется ADF. Я думаю, что есть проблема с startTime и end Time, настроенными в коде конвейера.

Я выполнил следующую статью, чтобы завершить это консольное приложение. Создание, мониторинг и управление Фабрики данных Azure с использованием пакета SDK для фабрики данных .NET

Вот URL-адрес моего полного проекта кода C # для загрузки. https://1drv.ms/u/s!AltdTyVEmoG2ijOupx-EjCMa-8Zk4

Кто-нибудь, пожалуйста, помогите мне узнать мою ошибку

Код C # для настройки конвейера:

DateTime PipelineActivePeriodStartTime = новый DateTime (2017, 1, 12, 0, 0, 0, 0, DateTimeKind.Utc); DateTime PipelineActivePeriodEndTime = PipelineActivePeriodStartTime.AddMinutes (60); строка PipelineName = "ComputeEventsByRegionPipeline";

        var usqlparams = new Dictionary<string, string>();
        usqlparams.Add("in", "/Samples/Data/SearchLog.tsv");
        usqlparams.Add("out", "/Output/testdemo1.tsv");

        client.Pipelines.CreateOrUpdate(resourceGroupName, dataFactoryName,
        new PipelineCreateOrUpdateParameters()
        {
            Pipeline = new Pipeline()
            {
                Name = PipelineName,
                Properties = new PipelineProperties()
                {
                    Description = "This is a demo pipe line.",

                    // Initial value for pipeline's active period. With this, you won't need to set slice status
                    Start = PipelineActivePeriodStartTime,
                    End = PipelineActivePeriodEndTime,
                    IsPaused = false,

                    Activities = new List<Activity>()
                    {
                        new Activity()
                        {
                            TypeProperties = new DataLakeAnalyticsUSQLActivity("@searchlog = EXTRACT UserId int, Start DateTime, Region string, Query string, Duration int?, Urls string, ClickedUrls string FROM @in USING Extractors.Tsv(nullEscape:\"#NULL#\"); @rs1 = SELECT Start, Region, Duration FROM @searchlog; OUTPUT @rs1 TO @out USING Outputters.Tsv(quoting:false);")
                            {
                                DegreeOfParallelism = 3,
                                Priority = 100,
                                Parameters = usqlparams
                            },
                            Inputs = new List<ActivityInput>()
                            {
                                new ActivityInput(Dataset_Source)
                            },
                            Outputs = new List<ActivityOutput>()
                            {
                                new ActivityOutput(Dataset_Destination)
                            },
                            Policy = new ActivityPolicy()
                            {
                                Timeout = new TimeSpan(6,0,0),
                                Concurrency = 1,
                                ExecutionPriorityOrder = ExecutionPriorityOrder.NewestFirst,
                                Retry = 1
                            },
                            Scheduler = new Scheduler()
                            {
                                Frequency = "Day",
                                Interval = 1
                            },
                            Name = "EventsByRegion",
                            LinkedServiceName = "AzureDataLakeAnalyticsLinkedService"
                        }
                    }
                }
            }
        });

Я только что заметил кое-что в представлении фабрики данных Azure (опция «Мониторинг и управление»). Состояние конвейера - Ожидание: DatasetDependencies. Просмотр и управление фабрикой данных Azure Нужно ли мне что-то изменить в коде для этого?


person Kishan Gupta    schedule 16.01.2017    source источник
comment
Извините, но если вы не можете опубликовать здесь соответствующую часть кода, вам будет сложно или очень долго, чтобы помочь.   -  person Peter Bons    schedule 16.01.2017
comment
Привет, разве вы не задавали тот же вопрос на прошлой неделе? Что случилось с этим?   -  person wBob    schedule 16.01.2017
comment
@wBob да, но на этот раз я поделился полным проектом консоли C #, чтобы любой мог загрузить и изучить весь код.   -  person Kishan Gupta    schedule 16.01.2017
comment
Что вы имеете в виду точнее под вашим скриптом U-SQL не выполняется? Вы получаете сообщение об ошибке или имеете в виду, что действие никогда не выполняется? Не могли бы вы поделиться своим определением трубопровода? Просматривали ли вы окна запланированных действий в docs.microsoft.com/en-us/azure/data-factory/?   -  person Alexandre Gattiker    schedule 16.01.2017
comment
Я имею в виду, что действие, которое настроено внутри конвейера, не выполняется на лазурном. Обновлен код конвейера, о котором идет речь.   -  person Kishan Gupta    schedule 16.01.2017
comment
Я ожидаю, что запрос (действие) U-SQL будет выполняться автоматически и выводить файл в выходную папку в хранилище озера данных после выполнения кода C #, но этого не происходит.   -  person Kishan Gupta    schedule 16.01.2017


Ответы (1)


Если у вас нет другого действия, которое создает исходный набор данных, вам необходимо добавить к нему атрибут

"external": true

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-faq

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-create-datasets

person Alexandre Gattiker    schedule 17.01.2017
comment
Это прекрасный ответ. Спасибо. :) - person Kishan Gupta; 17.01.2017