【问题标题】:Azure Data Factory: Get the filename and record number of the offending recordAzure 数据工厂:获取违规记录的文件名和记录号
【发布时间】:2022-01-16 23:31:31
【问题描述】:

我正在尝试摄取一堆文件,而我在 Azure 数据工厂中遇到的唯一错误是 -

对目标的操作将 isolation_advice_details 复制到 SQL 失败:ErrorCode=PolybaseOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=将数据加载到 SQL 数据仓库时发生错误。操作:'Polybase operation'.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=HdfsBridge::recordReaderFillBuffer - 填充记录读取器缓冲区时遇到意外错误:HadoopExecutionException:列中的字符串过长[-1]:实际长度 = [251]。 MaxLEN=[250],Source=.Net SqlClient 数据提供者,SqlErrorNumber=107090,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=107090,State=1,

Message=HdfsBridge::recordReaderFillBuffer - 填充记录读取器缓冲区时遇到意外错误:HadoopExecutionException:列 [-1] 中的字符串过长:实际长度 = [251]。 MaxLEN=[250],},],'

这令人沮丧,因为那里有数千个文件。如何找出发生在哪个文件中的哪条记录?

【问题讨论】:

    标签: azure azure-data-factory azure-data-factory-pipeline


    【解决方案1】:

    这可能主要与具有Datetimestamp 值的列有关。一旦你确定了一个表,你就可以用正确的数据类型来改变表。

    关注这个官方的 MS 文档 ADF throws error: Unexpected error encountered filling record reader buffer ClassCastException 了解详细故障排除。

    【讨论】:

    • 这是在现场生产环境中,我们需要找到违规记录。我们不允许更改管道以获取不良记录等。我知道这很愚蠢,但是是的,这就是我们所处的位置。只是想知道 Azure 为什么会提到错误,而不是在哪里发现错误!它应该在某个地方记录这个!
    • 我同意,你还有什么发现吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2022-10-04
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多