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