我已經使用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