需求:動態的修改sql語句來讀mysql,動態的修改hbase表名來指定寫入的hbase表。
腳本:
{
"job": {
"setting": {
"speed": {
"byte": 8388608,
"channel": 3
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "xxx",
"password": "xxx",
"connection": [
{
"querySql": ["$DS"],
"jdbcUrl": ["jdbc:mysql://xxx:3306/xxx"]
}
]
}
},
"writer": {
"name": "hbase11xwriter",
"parameter": {
"hbaseConfig": {
"hbase.zookeeper.quorum": "xxx"
},
"table": "$DT",
"mode": "normal",
"rowkeyColumn": [
{
"index":0,
"type":"string"
},
{
"index":-1,
"type":"string",
"value":"-"
},
{
"index":1,
"type":"string"
}
],
"column" : [ {
"index":1,
"name": "data:studentName",
"type": "string"
}
],
"encoding": "utf-8"
}
}
}
]
}
}
執行:
$ python ../bin/datax.py -p "-DDS='select xx,xx from xx where xx = xx' -DDT=student" mysql2Hbase-test.json
很簡單,就是通過-Dxx在執行時傳參,json腳本中使用$xx接收參數即可。