如何将数据附加到现有的Azure数据湖文件中?

时间:2019-09-04 12:01:04

标签: azure azure-data-lake azure-cli

我正在尝试将文件追加到现有的数据湖存储文件中。我使用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
}

最后,当我检查数据湖中的数据时,所有数据都附加在一行中,如下所示。 enter image description here

因此,任何有想法的人,例如在将数据附加到数据湖中时如何断开线路。

1 个答案:

答案 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"
}