Azure 数据工厂:获取违规记录的文件名和记录号
Posted
技术标签:
【中文标题】Azure 数据工厂:获取违规记录的文件名和记录号【英文标题】:Azure Data Factory: Get the filename and record number of the offending record 【发布时间】: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],,],'
这令人沮丧,因为那里有数千个文件。如何找出发生在哪个文件中的哪条记录?
【问题讨论】:
【参考方案1】:这可能主要与具有Date
或timestamp
值的列有关。一旦你确定了一个表,你就可以用正确的数据类型来改变表。
关注这个官方的 MS 文档 ADF throws error: Unexpected error encountered filling record reader buffer ClassCastException 了解详细故障排除。
【讨论】:
这是在现场生产环境中,我们需要找到违规记录。我们不允许更改管道以获取不良记录等。我知道这很愚蠢,但是是的,这就是我们所处的位置。只是想知道 Azure 为什么会提到错误,而不是在哪里发现错误!它应该在某个地方记录这个! 我同意,你还有什么发现吗?以上是关于Azure 数据工厂:获取违规记录的文件名和记录号的主要内容,如果未能解决你的问题,请参考以下文章