如何将数据附加到现有的 Azure 数据湖文件中?
How to append data into existing Azure data lake file?
我正在尝试在现有数据湖存储文件中追加文件。使用 azure CLI 命令,我成功地将数据附加到 file.But 附加数据附加到此文件结构化的单行 only.Because 中。为此,我 运行 使用 Azure CLI 执行命令。
首先,我从 azure data lake 读取 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
}
最后,当我检查数据湖中的数据时,所有数据都附加在一行中,如下所示。
所以,任何人都知道我在数据湖中追加数据时如何打破这条线。
这似乎是由代码 foreach($ds in $data)
中的 $ds
值缺少换行符引起的。
根据官方博客PowerTip: New Lines with PowerShell
,您可以尝试在$ds
末尾手动添加powershell的换行符,如下代码修复
foreach($ds in $data) {
az dls fs append --account xxxxadls --path /Input/xxx/dbo.test.txt --content "$($ds)`n"
}
我正在尝试在现有数据湖存储文件中追加文件。使用 azure CLI 命令,我成功地将数据附加到 file.But 附加数据附加到此文件结构化的单行 only.Because 中。为此,我 运行 使用 Azure CLI 执行命令。
首先,我从 azure data lake 读取 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
}
最后,当我检查数据湖中的数据时,所有数据都附加在一行中,如下所示。
所以,任何人都知道我在数据湖中追加数据时如何打破这条线。
这似乎是由代码 foreach($ds in $data)
中的 $ds
值缺少换行符引起的。
根据官方博客PowerTip: New Lines with PowerShell
,您可以尝试在$ds
末尾手动添加powershell的换行符,如下代码修复
foreach($ds in $data) {
az dls fs append --account xxxxadls --path /Input/xxx/dbo.test.txt --content "$($ds)`n"
}