【问题标题】:How to move processed file to another directory using U-SQL?如何使用 U-SQL 将处理后的文件移动到另一个目录?
【发布时间】:2016-10-25 15:20:48
【问题描述】:

我正在编写一个 U-SQL 查询,该查询从存储在目录(例如 A)中的文件(例如 query.txt)中提取信息。现在,我想在处理完文件 query.txt 并将一些结果集输出到不同目录中的其他文件后,将文件 query.txt 移动到另一个目录(比如已处理)。完成 U-SQL 作业后,如何将源文件(query.txt)移动到 Processed 目录?

【问题讨论】:

    标签: azure-data-lake u-sql


    【解决方案1】:

    您不能将 U-SQL 用于 Data Lake Store 上的文件系统操作。

    您可以读取文件并将输出写入已处理的目录,但这只会在新目录中创建该文件的副本,不会删除原始文件。

    无法使用 U-SQL 操作移动、删除或复制。 一个好方法是使用 ADLS SDK,这是一个为您编写一个简单的程序。 SDK 提供了此类操作的功能。

    【讨论】:

      【解决方案2】:

      U-SQL 不为您提供文件系统操作。我会研究 SDK ADLS 命令之一(例如,在 Azure Powershell 中),它提供标准的 WebHDFS 文件系统命令以与文件系统交互并使用 Powershell 或 Azure 数据工厂协调作业和文件移动。

      【讨论】:

        【解决方案3】:

        使用 PowerShell

        # Log in to your Azure account
        Login-AzureRmAccount
        
        $DataLakeStoreAccount = "<yourAccountNameHere>";
        $source = "/Before/query.txt";
        $Destination = "/After/query.txt";
        
        Move-AzureRmDataLakeStoreItem -AccountName $DataLakeStoreAccount -Path $source -Destination $Destination;
        

        【讨论】:

        • 请向我们提供带有 .Net SDK 的示例。
        猜你喜欢
        • 2013-04-21
        • 1970-01-01
        • 2019-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-20
        • 2013-06-27
        • 2015-07-21
        相关资源
        最近更新 更多