是否可以将U-SQL托管表用作Azure数据工厂中的输出数据集?

时间:2017-01-05 11:54:37

标签: azure azure-data-factory azure-data-lake u-sql

我有一个小型ADF管道,可将一系列文件从Azure存储帐户复制到Azure Data Lake帐户。作为管道中的最后一个活动,我想运行一个U-SQL脚本,该脚本使用复制的文件作为输入,并将结果输出到U-SQL托管表。

U-SQL脚本基本上从复制的文件中提取数据,应用一些转换,然后将其INSERT到现有的U-SQL托管表中。

如何(如果可能)可以将U-SQL表添加为Azure数据工厂中的输出数据集?

1 个答案:

答案 0 :(得分:1)

您目前无法在Azure数据工厂(ADF)中将U-SQL内部表添加为输出数据集。最近出现了一个类似的问题here,而Michael Rys(" U-SQL的父亲")的回答是#34;我知道ADF团队有一个工作项来执行此操作为了你。"

您可以使用howerver Azure Data Factory运行参数化 U-SQL脚本,其中输入参数是文件路径。这将有类似的结果。

来自recent question的示例管道:

{
    "name": "ComputeEventsByRegionPipeline",
    "properties": {
        "description": "This is a pipeline to compute events for en-gb locale and date less than 2012/02/19.",
        "activities": [
            {
                "type": "DataLakeAnalyticsU-SQL",
                "typeProperties": {
                    "scriptPath": "adlascripts\\SearchLogProcessing.txt",
                    "scriptLinkedService": "StorageLinkedService",
                    "degreeOfParallelism": 3,
                    "priority": 100,
                    "parameters": {
                        "in": "/input/SearchLog.tsv",
                        "out": "/output/Result.tsv"
                    }
                },
...

基本上,U-SQL脚本来自:

@searchlog =
    EXTRACT ...
    FROM @in
    USING Extractors.Tsv();

为:

@searchlog =
    EXTRACT ...
    FROM "/input/SearchLog.tsv"
    USING Extractors.Tsv();

我认为你实现了同样的目标。