azure - 使用 ADF 复制 Azure SQL DW 中的数据(根据文档,使用 Polybase 进行分阶段复制不起作用)

标签 azure azure-data-factory azure-synapse polybase

尝试使用 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 在我在暂存副本中提供的路径中创建了一个临时文件夹,但它看起来没有执行加载数据所需的转换。我错过了什么吗?

链接到文档 Copy and transform data in Azure SQL Data Warehouse by using Azure Data Factory

最佳答案

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

关于azure - 使用 ADF 复制 Azure SQL DW 中的数据(根据文档,使用 Polybase 进行分阶段复制不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58998139/

相关文章:

azure - Microsoft Defender 云版 : "Subnets should be associated with a network security group" status is Not Applicable for a private endpoints subnet

azure - 对 RowKey 值范围使用 Azure 表的词法过滤

Azure SQL 数据仓库上的 sqlcmd - SqlState 24000,INSERT 语句后游标状态无效

azure - 在为 ADF 创建数据集时,有时我们会导入架构,有时则不会。其背后的原因是什么?

Azure Synapse 创建管道 Rest API

azure - 我们可以将挂载点保存在azure synapse中吗

azure - 使用 Python SDK 和用户或系统分配的托管标识从 Azure Key Vault 读取 Azure Synapse 中的 secret

azure - 如何以编程方式创建 Windows Azure 租户和用户

c# - ASP 的 Request.IsLocal 在 Azure 中始终为 true

azure - 将 Azure 数据工厂与来自 Microsoft Dynamics Marketing 的 Odata 源结合使用