在数据工厂中以CSV作为来源的问题

时间:2018-09-21 17:24:40

标签: azure azure-data-factory

我有一个CSV

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

对于上述CSV行限制符为LF

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

如果我删除了最后一个逗号。

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

它将正常工作。

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

如何解决这个问题?


其他详细信息:

我正在上传CSV enter image description here

我的天蓝色门户设置 enter image description here

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

如果我删除第一行作为标题,我会看到一个空列 enter image description here

1 个答案:

答案 0 :(得分:1)

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

enter image description here

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

enter image description here

输出:

enter image description here

希望它对您有帮助。


我试图与您创建相同的文件并重现您的问题。似乎是adf的检查机制。您需要删除第一行作为标题选择,以退出此检查。如果您不想这样做,则必须预处理csv文件。

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

1。使用Azure Function Http触发器。您可以将csv文件名作为参数传递给Azure函数。然后使用Azure Blob存储SDK处理您的csv文件以剪切最后一个逗号。

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

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

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