内置对象

数据库

数据采集器封装了 2 个连接对象,分别查询源端和目标端数据

源端

数据采集器内置了 source 对象用于表示该任务的源端连接

source 对象内置了2个方法:

  • source.execute:完成增加、修改、删除操作

  • source.executeQuery:完成查询操作,返回数组

mongodb

source.executeQuery({
database: "INVENTORY",
collection:"ORDERS",
filter:{ORDER_ID: {$gt: order_id}}
})

关系型数据库

source.executeQuery({
sql: "select * from order where order_id=1"
})

目标端

数据采集器内置了 target 对象用于表示该任务的目标端连接

target 对象内置了2个方法:

  • target.execute:完成增加、修改、删除操作

  • target.executeQuery:完成查询操作,返回数组

mongodb

target.execute({
op: 'update' // insert / update / delete
database:"inventory", // 默认是当前 connection 的 database
collection:'orders',
filter: {name: 'tapdata'} // 条件过滤对象
opObject: {$set:{data_quality: '100'}}, // 操作的数据集
upsert: true, // 是否使用 upsert 操作, 默认false,只对 mongodb 的 update
multi: true // 是否更新多条记录,默认 false
})
target.executeQuery({
database: "INVENTORY",
collection:"ORDERS",
filter:{ORDER_ID: {$gt: order_id}}
})

关系型数据库

target.execute({
sql: "update order set owner='tapdata' where order_id=1",
})
target.executeQuery({
sql: "select * from order where order_id=1"
})

数据类型

当前版本对 js 的基本类型做了一些转换

数组

var arr = new ArrayList()
arr.add(...)

对象

var obj = new HashMap()
obj.put(...)