我已经使用sliceIdentifierColumnName
设置了ADF管道,该管道运行良好,因为它按照预期填充了GUID字段。然而,最近这个字段停止填充,刷新将工作,但sliceIdentifierColumnName
字段的值将为null
,或者偶尔负载会失败,因为它试图用值1填充此字段,导致切片加载失败。Azure ADF sliceIdentifierColumnName未正确填充
这个变化发生在一个时间点之前,它完美地工作之前,它反复无法正确填充字段。我确信没有对导致突然失败的管道进行更改。任何指针,我应该看什么?
这里是管道源的摘录,我正在从Amazon Redshift的表中读取并写入Azure SQL表。
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "RelationalSource",
"query": "$$Text.Format('select * from mytable where eventtime >= \\'{0:yyyy-MM-ddTHH:mm:ssZ}\\' and eventtime < \\'{1:yyyy-MM-ddTHH:mm:ssZ}\\' ' , SliceStart, SliceEnd)"
},
"sink": {
"type": "SqlSink",
"sliceIdentifierColumnName": "ColumnForADFuseOnly",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
}
},
"inputs": [
{
"name": "AmazonRedshiftSomeName"
}
],
"outputs": [
{
"name": "AzureSQLDatasetSomeName"
}
],
"policy": {
"timeout": "1.00:00:00",
"concurrency": 10,
"style": "StartOfInterval",
"longRetry": 0,
"longRetryInterval": "00:00:00"
},
"scheduler": {
"frequency": "Hour",
"interval": 2
},
"name": "Activity-somename2Hour"
}
],
另外,这里是误差输出文本
拷贝活动在水槽中遇到用户错误:.database.windows.net侧:错误码= UserErrorInvalidDataValue,'类型= Microsoft.DataTransfer.Common.Shared .HybridDeliveryException,Message = Column'ColumnForADFuseOnly'包含无效值'1'。Source = Microsoft.DataTransfer.Common,''Type = System.ArgumentException,Message =值的类型与列类型不匹配。不能存储< 1 >在ColumnForADFuseOnly列中。 预期类型是Byte []。,Source = System.Data,''Type = System.ArgumentException,Message =值的类型与列类型Source = System.Data'不匹配。
这是源数据集的一部分,它是一个包含所有数据类型作为字符串的表。
{
"name": "AmazonRedshiftsomename_2hourly",
"properties": {
"structure": [
{
"name": "eventid",
"type": "String"
},
{
"name": "visitorid",
"type": "String"
},
{
"name": "eventtime",
"type": "Datetime"
}
}
最后,目标表是相同的源表,每个列名映射至其在天青对应,与在天青的附加列的例外命名 [ColumnForADFuseOnly]二元NULL, 正是这种这是现在正在或者填充空值或1 感谢柱,
可以显示ADF JSON和表DDL的示例吗? – SQLBadPanda