我正在从ADFv 2查询mongoDB,并尝试根据日期筛选数据。但是日期以随机数字串的形式出现。我想知道是否有一种方法可以在复制任务的源中动态筛选数据,因为我正在尝试以增量方式加载数据。
[
{
"_id": {
"$oid": "5d5123dc8cf0b4453ceb2088"
},
"TemplateId": "5d3ac5c77eb20a2cf4bdf46a",
"LastUpdate": {
"$date": 1565603495299
},
"Answers": [
{
"Question": "Q001c",
"Answer": {
"_t": "System.String[]",
"_v": [
"0,In person"
]
}
},
{
"Question": "Q001a",
"Answer": {
"_t": "System.String[]",
"_v": [
"0,Yes"
]
}
},
{
"Question": "Q003a",
"Answer": {
"_t": "System.String[]",
"_v": [
"0,Yes"
]
}
},
{
"Question": "Q006a",
"Answer": {
"_t": "System.String[]",
"_v": [
"1,No"
]
接收器/目的地已进入SQL数据库。如有任何帮助,将不胜感激。
1条答案
按热度按时间2hh7jdfx1#
我使用ADF重现了从MongoDb到SQL DB的增量数据加载。正如@Nick.Mc.Dermaid建议的那样,最大时间戳值应该作为增量数据加载的水印值。这里遵循的方法是复制所有日期大于水印值的数据,并用最大日期更新水印值。这样在下一次管道运行时,增量数据将被复制。下面是详细步骤。
watermark value =1000000000000
.水印的值如上所述设置,以便在第一次运行时,所有数据从源加载到接收器。
select WatermarkValue from watermark
中引用水印表在复制活动旁边添加存储过程活动,以便在水位标志表中更新新值x1c4d 1x
在管道运行之后,输出表和水印表被更新。
在源
中添加新文档
再次触发管道时,只有增量记录被加载到接收器
指令集