我正在尝试将文件追加到现有的数据湖存储文件中。我使用azure CLI命令成功地将数据追加到文件中,但是追加的数据仅追加到单行中,因为此文件的结构发生了变化。为此,我使用Azure CLI运行以下命令。
首先,我从天蓝色的数据湖中读取test1.txt并将输出存储到一个变量中。
$data = az dls fs preview --account xxxxadls --path /Input/xxx/dbo.test_1.txt --output table
此后,我逐行读取记录并将其追加到数据湖上的现有测试文件中。
foreach($ds in $data) {
az dls fs append --account xxxxadls --path /Input/xxx/dbo.test.txt --content $ds
}
最后,当我检查数据湖中的数据时,所有数据都附加在一行中,如下所示。
因此,任何有想法的人,例如在将数据附加到数据湖中时如何断开线路。
答案 0 :(得分:1)
这似乎是由于代码$ds
中的foreach($ds in $data)
值缺少换行符号引起的。
根据官方博客PowerTip: New Lines with PowerShell
,您可以尝试将powershell的新行符号手动添加到$ds
的末尾,如下面的代码所示。
foreach($ds in $data) {
az dls fs append --account xxxxadls --path /Input/xxx/dbo.test.txt --content "$($ds)`n"
}