是否可以在Azure Data Factory中将U-SQL托管表用作输出数据集?

是否可以在Azure Data Factory中将U-SQL托管表用作输出数据集?,azure,azure-data-factory,azure-data-lake,u-sql,Azure,Azure Data Factory,Azure Data Lake,U Sql,我有一个小型ADF管道,它将一系列文件从Azure存储帐户复制到Azure Data Lake帐户。作为管道中的最后一项活动,我希望运行一个U-SQL脚本,该脚本使用复制的文件作为输入,并将结果输出到U-SQL托管表 U-SQL脚本基本上从复制的文件中提取数据,应用一些转换,然后将其插入到现有的U-SQL托管表中 如何(如果可能)将U-SQL表添加为Azure Data Factory中的输出数据集?您当前无法将U-SQL内部表添加为Azure Data Factory(ADF)中的输出数据集。

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

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


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

您当前无法将U-SQL内部表添加为Azure Data Factory(ADF)中的输出数据集。最近出现了一个类似的问题,Michael Rys(U-SQL的“父亲”)的回答是“我知道ADF团队有一个工作项为您完成这项工作。”

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

来自以下位置的示例管道:

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

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


我想这和您想要的一样。

我想知道您为什么要使用ADF来复制数据。您可以使用U-SQL直接从Azure blob读取数据、处理数据并直接将其写入托管表。可以这样做,但在这种情况下,仅将复制文件中的一部分数据添加到表中。但是我仍然需要将完整的JSON文件保存在DataLake中。我们在存储帐户中只保留文件30天。无论哪种方式,这个问题仍然适用。我已经实现了动态参数,但在阅读了您的答案后,我只是在U-SQL脚本的末尾添加了一个CSV文件的输出到Data Lake Store,其中有一行和一列。这就解决了问题。太好了!你会考虑把它标记为答案,还是你认为这不是问题的答案?它部分地回答了问题,而不是关键部分,如何解决你需要为ADF提供合适的输出数据集的事实。
@searchlog =
    EXTRACT ...
    FROM @in
    USING Extractors.Tsv();
@searchlog =
    EXTRACT ...
    FROM "/input/SearchLog.tsv"
    USING Extractors.Tsv();