簡體   English   中英

使用Azure Data Factory從C#代碼運行U-SQL腳本

[英]Run U-SQL Script from C# code with Azure Data Factory

我試圖通過C#代碼在Azure上運行U-SQL腳本。 在執行代碼后,所有內容都在蔚藍中創建(ADF,鏈接服務,管道,數據集),但ADF不執行U-SQl腳本。 我認為在管道代碼中配置的startTime和end Time存在問題。

我按照以下文章來完成此控制台應用程序。 使用Data Factory .NET SDK創建,監視和管理Azure數據工廠

這是我完整的C#代碼項目的URL,可供下載。 https://1drv.ms/u/s!AltdTyVEmoG2ijOupx-EjCM-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數據工廠監控和管理視圖 我是否需要為此修改代碼?

如果沒有其他活動正在創建源數據集,則需要向其添加屬性

"external": true

https://docs.microsoft.com/zh-cn/azure/data-factory/data-factory-faq

https://docs.microsoft.com/zh-cn/azure/data-factory/data-factory-create-datasets

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM