我的管道输入是" FileSystemSource"输出是" AzureDataLakeStore"。我在我的复制管道中尝试了以下JSON作为输入
"输入":[
{
"name": "OnPremisesFileInput2"
"startTime": "Date.AddDays(SliceStart, -1)",
"endTime": "Date.AddDays(SliceEnd, -1)"
}
]
我也尝试过定义" offset"在输入和输出数据集以及管道中如下
"可用性":{
"frequency": "Day",
"interval": 1,
"offset": "-1.00:00:00",
"style": "StartOfInterval"
},
" scheduler":{
"frequency": "Day",
"interval": 1,
"offset": "-1.00:00:00",
"style": "StartOfInterval"
},
上述似乎都没有奏效。请求别人帮助我。
答案 0 :(得分:0)
我认为这样做的好策略是将昨天的输出视为今天的输入。 Azure数据工厂允许您使用不同的数据源依次运行活动。
有很好的文档here
像这样你可以在这两个活动之间有一个临时存储空间,或者使用主输入数据源,但使用过滤器只能得到昨天的切片。
答案 1 :(得分:0)
你的偏移应该是正面的。
"availability": {
"frequency": "Day",
"interval": 1,
"offset": "01:00:00",
"style": "EndOfInterval"
}
在这种情况下,它将在9月7日上午1:00 UTC运行,并将从9月6日0:00 UTC到9月7日UTC运行切片。这是昨天的切片。
您的输入数据集应配置为使用SliceStart命名文件
"partitionedBy": [
{
"name": "Slice",
"value": {
"type": "DateTime",
"date": SliceStart",
"format": "yyyymmdd"
}
}],
"typeProperties": {
"fileName": "{slice}.csv",
}
在9月7日执行时会查找20170906.csv文件。