如何使用U-SQL将处理过的文件移动到另一个目录?

时间:2016-10-25 15:20:49

标签: azure-data-lake u-sql

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

3 个答案:

答案 0 :(得分:2)

您不能在Data Lake Store上使用U-SQL进行文件系统操作。

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

使用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;