Case-insensitive 列名称打破了数据工厂数据流中的数据预览模式
Case-insensitive column names breaks the Data Preview mode in Data Flow of Data Factory
我的 ADLS 中有一个 csv 文件:
a,A,b
1,1,1
2,2,2
3,3,3
当我将此数据加载到 ADF 中第一行为 header 的带分隔符的文本数据集中时,数据预览似乎是正确的(见下图)。该模式的列名称为 a、A 和 b。
但是,现在我想在映射数据流中使用这个数据集,这里会中断数据预览模式。第二列名称 (A) 被视为重复,无法加载预览。
Data Flow 中的所有其他功能都可以正常工作,只有“数据预览”选项卡出现错误。所有后续转换节点也在数据预览中给出此错误。
此外,如果数据包含两个 "exact" 相同的列名称(例如 a, a, b
),则数据集会将这些列识别为重复列,并在每个名称后添加“1”和“2” .只有当它们 case-sensitive 不相等且 case-insensitive 相等时,数据集不会出错,而数据流会出错。
这是已知错误吗?是否可以在加载到数据流之前更改数据集中的特定列名称?还是我缺少什么?
我向 Azure 支持寻求帮助,他们现在正在测试。请等待我的更新。
更新:
我向 Azure 支持发送了 test.csv 文件。他们测试并回复了我。如果硬要用“first row as header”,Data Factory无法解决这个错误。解决办法是re-editcsv文件。即使在 Azure SQL 数据库中,它也不支持我们创建具有相同列名的 table。列名是 case-insensitive.
这是完整的电子邮件:
嗨莱昂,
早上好!感谢您的信息。
我已经测试了您与我共享的示例文件并重现了该问题。当我连接到您的示例文件时,默认情况下数据预览是好的。
但我注意到当我们进行故障排除时 session – a、A、b 是列名,因此您已将第一行检查为 header 您的源连接。请确认没问题,你要使用a,A,b作为列headers。如果是这样,它应该是一个错误,因为模式中没有“A”的文本转换。
希望您能理解列名不会影响数据转换,可以更改它以确保没有错误阻塞数据流。
有两个提示可以让您删除块,一个是直接更改源 csv 中的列名,或者您可以单击架构选项卡中的导入架构按钮(在吹屏截图中),您可以选择用于重新定义模式的示例文件,它还允许您更改列名。
希望这对您有所帮助。
我的 ADLS 中有一个 csv 文件:
a,A,b
1,1,1
2,2,2
3,3,3
当我将此数据加载到 ADF 中第一行为 header 的带分隔符的文本数据集中时,数据预览似乎是正确的(见下图)。该模式的列名称为 a、A 和 b。
但是,现在我想在映射数据流中使用这个数据集,这里会中断数据预览模式。第二列名称 (A) 被视为重复,无法加载预览。
Data Flow 中的所有其他功能都可以正常工作,只有“数据预览”选项卡出现错误。所有后续转换节点也在数据预览中给出此错误。
此外,如果数据包含两个 "exact" 相同的列名称(例如 a, a, b
),则数据集会将这些列识别为重复列,并在每个名称后添加“1”和“2” .只有当它们 case-sensitive 不相等且 case-insensitive 相等时,数据集不会出错,而数据流会出错。
这是已知错误吗?是否可以在加载到数据流之前更改数据集中的特定列名称?还是我缺少什么?
我向 Azure 支持寻求帮助,他们现在正在测试。请等待我的更新。
更新:
我向 Azure 支持发送了 test.csv 文件。他们测试并回复了我。如果硬要用“first row as header”,Data Factory无法解决这个错误。解决办法是re-editcsv文件。即使在 Azure SQL 数据库中,它也不支持我们创建具有相同列名的 table。列名是 case-insensitive.
这是完整的电子邮件:
嗨莱昂,
早上好!感谢您的信息。
我已经测试了您与我共享的示例文件并重现了该问题。当我连接到您的示例文件时,默认情况下数据预览是好的。
希望这对您有所帮助。