datax是一種開源的數據同步工具,它能夠將不同類型的數據源進行同步和轉化。其中,動態(tài)參數json是一種非常有用的功能,它能夠通過json配置的方式動態(tài)地修改datax同步任務的配置信息。
使用動態(tài)參數json的前提是在同步任務配置文件中添加${jsonStr}的參數,例如:
{ "job": { "setting": { "speed": { "byte": 1048576 } }, "content": [ { "reader": { "name": "mysqlreader", "parameter": { "column": [ "id", "name" ], "connection": { "jdbcUrl": "jdbc:mysql://localhost:3306/test", "username": "root", "password": "123456" }, "where": "id>${id}" } }, "writer": { "name": "mysqlwriter", "parameter": { "column": [ "id", "name" ], "connection": { "jdbcUrl": "jdbc:mysql://localhost:3306/test", "username": "root", "password": "123456" }, "preSql": [ "delete from test2 where id>${id}" ], "postSql": [ "update test set status=1 where id>${id}" ] } } } ] } }
在json配置文件中,我們使用了${id}這個占位符,這個占位符對應著datax同步任務配置文件中的參數id。我們可以在運行datax命令時指定jsonStr參數來動態(tài)地修改這個id的值,例如:
python datax.py -p "-DjsonStr={\"id\": 100}" job.json
通過上面的命令,我們將id的值修改為了100。這樣就實現了datax同步任務配置信息的動態(tài)修改。