2

尝试使用 Azure 数据工厂将数据湖 (gen2) 中的 csv 文件加载到 Azure Synapse。源文件具有“(双引号)作为转义字符。这超出了将 polybase 直接连接到 Data Lake 的数据限制。我通过以下文档设置了暂存副本

"enableStaging": true,
  "stagingSettings": {
                                "linkedServiceName": {
                                    "referenceName": "LS_StagedCopy",
                                    "type": "LinkedServiceReference"
                                },
                                "path": "myContainer/myPath",
                                "enableCompression": false
                            }

调试管道后,我仍然得到

{Class=16,Number=107090,State=1,Message=HdfsBridge::recordReaderFillBuffer - Unexpected error encountered filling record reader buffer: HadoopExecutionException: Too many columns in the line.,},],

我确实看到 ADF 在我在暂存副本中提供的路径中创建了一个临时文件夹,但看起来它没有执行加载数据所需的转换。我错过了什么吗?

链接到 doc使用 Azure 数据工厂复制和转换 Azure SQL 数据仓库中的数据

4

1 回答 1

0

最有可能的问题是您的数据。检查你的分隔符。希望它不是“,”或类似这样的明显内容。当一列的文本包含许多“,”时,这是一个常见问题,ADF 会将其解释为新列。使用较小的干净 csv 对其进行测试,然后从那里开始。

于 2019-12-16T15:23:41.860 回答