将 CSV 作为数据工厂中的源的问题

Issue with CSV as a source in datafactory

我有一个 CSV

"Heading","Heading","Heading",LF
"Data1","Data2","Data3",LF
"Data4","Data5","Data6",LF

对于上面的 CSV 行限制器是 LF

问题是最后一个逗号。当我在数据工厂的复制源 activity 中将第一列设置为标题并跳过行为 0 后尝试预览数据时,它会抛出错误,指出最后一列为空。

如果我删除最后一个 comma.ie

"Heading","Heading","Heading"LF
"Data1","Data2","Data3"LF
"Data4","Data5","Data6"LF

它将正常工作。

无法编辑 CSV,因为每个 CSV 可能包含 50 万条记录。

如何解决这个问题?


添加详情:

我正在上传 CSVenter image description here

我的 Azure 门户设置 enter image description here

关于预览数据的错误信息 enter image description here

如果我删除第一行 header 我会看到一个空列 enter image description here

请尝试将 Row delimiter 设置为 Line Feed(\n)

我测试了您的示例 csv 文件,它工作正常。

输出:


我试图创建与您相同的文件并重现您的 issue.It 似乎是 adf 的检查机制。您需要删除第一行作为 header 选择以逃避此检查。如果您不想这样做,则必须预处理 CSV 文件。

我建议您使用以下两种解决方法。

1.Use Azure 函数 Http 触发器。您可以将 CSV 文件名作为参数传递到 Azure Function.Then 使用 Azure Blob Storage SDK 处理您的 csv 文件以删除最后一个逗号。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook

2.Use Azure 流分析。您可以将 blob 存储配置为输入并创建另一个容器作为输出。然后使用 SQL 查询来处理您的 CSV 数据。

https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-quick-create-portal