数据工厂无法将最后一列后带逗号的“csv”复制到 sql 数据仓库
Data Factory cannot copy `csv` with comma after last column to sql data warehouse
我有 CSV
个文件要从 blob 复制到 DW,CSV
个文件在最后一列后有逗号(参见下面的示例)。使用 ADF,我尝试将 csv 文件复制到 DW 中的 SQL table。但是,我收到了这个错误,我认为这是因为最后一个逗号(因为我有 15 列):
csv 文件的几行:
Code,Last Trading Date,Bid Price,Bid Size,Ask Price,Ask Size,Last Price,Traded Volume,Open Price,High Price,Low Price,Settlement Price,Settlement Date,Implied Volatility,Last Trade Time,
BNH2021F,31/03/2021,37.750000,1,38.000000,1,,0,,,,37.750000,29/03/2021,,,
BNM2021F,30/06/2021,44.500000,6,44.700000,2,44.400000,4,44.300000,44.400000,44.300000,44.500000,29/03/2021,,15-55-47.000,
BNU2021F,30/09/2021,46.250000,2,47.000000,1,47.490000,2,47.490000,47.490000,47.490000,46.920000,29/03/2021,,15-59-10.000,
请注意,CSV
s 是原始文件,我无法更改它们。我还在数据集中尝试了不同的 Quote 和 Escape 字符,但它没有用。
此外,我想使用 ADF 来执行此操作,而不是 azure 函数。
我找不到任何解决办法,请帮忙。
更新:
有趣的是数据集预览有效:
我认为你可以使用数据流来实现。
Azure 数据工厂会将最后一个逗号解释为具有空值的列。所以我们可以使用 Select activity 来过滤最后一列。
在 sink 手动设置映射。
然后就可以沉到我们的DW或者SQLtable了。
您正在使用 15 列,而您的目的地需要 16 列。将另一列添加到您的 CSV 或修改您的 DW。
有一个简单的解决方案。
第 1 步:
取消选中源数据集中的“第一行为 header”选项
第 2 步: 先将其汇入另一个 CSV 文件。在接收器 csv 数据集导入架构中,如下所示。复制 activity 将创建一个包含所有干净的 15 列的新 CSV 文件,即最后一个额外的逗号不会出现在新的 csv 文件中。
第 3 步: 从新创建的 csv 文件中复制“第一行为 header”,并将其复制到 DW。
我有 CSV
个文件要从 blob 复制到 DW,CSV
个文件在最后一列后有逗号(参见下面的示例)。使用 ADF,我尝试将 csv 文件复制到 DW 中的 SQL table。但是,我收到了这个错误,我认为这是因为最后一个逗号(因为我有 15 列):
csv 文件的几行:
Code,Last Trading Date,Bid Price,Bid Size,Ask Price,Ask Size,Last Price,Traded Volume,Open Price,High Price,Low Price,Settlement Price,Settlement Date,Implied Volatility,Last Trade Time,
BNH2021F,31/03/2021,37.750000,1,38.000000,1,,0,,,,37.750000,29/03/2021,,,
BNM2021F,30/06/2021,44.500000,6,44.700000,2,44.400000,4,44.300000,44.400000,44.300000,44.500000,29/03/2021,,15-55-47.000,
BNU2021F,30/09/2021,46.250000,2,47.000000,1,47.490000,2,47.490000,47.490000,47.490000,46.920000,29/03/2021,,15-59-10.000,
请注意,CSV
s 是原始文件,我无法更改它们。我还在数据集中尝试了不同的 Quote 和 Escape 字符,但它没有用。
此外,我想使用 ADF 来执行此操作,而不是 azure 函数。
我找不到任何解决办法,请帮忙。
更新:
有趣的是数据集预览有效:
我认为你可以使用数据流来实现。
Azure 数据工厂会将最后一个逗号解释为具有空值的列。所以我们可以使用 Select activity 来过滤最后一列。
在 sink 手动设置映射。
然后就可以沉到我们的DW或者SQLtable了。
您正在使用 15 列,而您的目的地需要 16 列。将另一列添加到您的 CSV 或修改您的 DW。
有一个简单的解决方案。
第 1 步:
取消选中源数据集中的“第一行为 header”选项
第 2 步: 先将其汇入另一个 CSV 文件。在接收器 csv 数据集导入架构中,如下所示。复制 activity 将创建一个包含所有干净的 15 列的新 CSV 文件,即最后一个额外的逗号不会出现在新的 csv 文件中。
第 3 步: 从新创建的 csv 文件中复制“第一行为 header”,并将其复制到 DW。