数据工厂中的映射数据流不会忽略 CSV 文件的 text-values 中的 line-breaks

Mapping Data Flow in Data Factory doesn't ignore line-breaks in text-values of CSV files

我在 Azure 数据工厂中遇到以下问题:

在 ADLS 中,我有一个 CSV 文件,其中包含一个换行符:

A, B, C
a, b, c
a, "b
b", c

此 CSV 使用以下设置加载到 (CSV) 数据集(在 ADF 中);第一行是 header、引号字符双引号 (")、列分隔符逗号 (,)、行分隔符(\r、\n 或 \r\n)和转义字符反斜杠 ()。

数据集的 "Preview Data" 似乎工作正常并输出一个 table 两行。这也是我期望的输出,因为数据的整体结构得到了保留。

但是,当我尝试在映射数据流和 select "Data Preview"(直接在源节点中)中使用此数据集时,我得到以下输出:

不会忽略换行符,即使整个值都在双引号之间。数据的整体结构现在被破坏,一行被分成两行。

当我将某些单元格中带有换行符的 Excel 文件保存为 CSV 文件时,我得到了这种数据。我应该如何解决这个问题?我应该以不同的方式保存 Excel 吗,我应该尝试在保存为 CSV 之前删除所有换行符,还是有办法让数据工厂解决这个问题?另外,为什么数据集中的预览数据功能似乎可以正常工作,而映射数据流中的数据预览功能却没有?

我试过了,Copy Active 和 Data Flow 源设置之间没有什么不同。

我上传了一个 csv 文件并将数据更改为与我的 Blob 存储中的数据相同。

Test.csv:

复制活动设置和数据预览的结果:

数据流源数据设置和数据预览结果:

请检查您在数据流中的设置。

参考教程:Export Table to CSV,同样适用于Azrue SQL数据库。

更新:

我向 Azure 支持寻求帮助,他们测试并出现相同的错误。

Azure Support 回复了我并给出了原因:

希望这对您有所帮助。

我们正在为文本分隔数据集向 ADF 数据流添加多行字符串处理。我们将在几次迭代中启用该功能。

在此之前的解决方法是将数据从 CSV 复制到 Parquet,然后通过数据流源转换使用该 Parquet 数据集。

遇到同样问题的朋友,现在微软已经在数据流中启用了多行功能。现在我们可以使用具有多行值的 csv 文件

如果您还有问题,请检查这个

https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/data-factory/data-flow-troubleshoot-guide.md#error-code-df-executor-systeminvalidjson-1