DataX是一款開源的數據同步工具,支持從各種數據源讀取數據,將數據同步到各種目標存儲中。在DataX的任務配置中,我們可以使用json格式來描述讀取數據源和寫入目標存儲的方式。同時,也可以使用json配置來設置數據過濾的方式。
其中,我們可以通過配置where屬性來進行數據的篩選。下面是一個示例的json配置:
"job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "root", "password": "123456", "column": ["id", "name", "age", "address"], "connection": [{ "table": ["table"], "jdbcUrl": ["jdbc:mysql://localhost:3306/test"], "querySql": ["select id, name, age, address from table where age >18"] }] } }, "writer": { "name": "mysqlwriter", "parameter": { "username": "root", "password": "123456", "column": ["id", "name", "age", "address"], "connection": [{ "table": ["table"], "jdbcUrl": ["jdbc:mysql://localhost:3306/test"] }] } } } ], "setting": { "speed": { "channel": "1" } } }
在該配置中,我們可以看到在mysqlreader的querySql屬性中加入了where age >18的條件,表示只讀取age大于18的數據行。這在需要篩選數據時非常有用,可以減少數據傳輸的量,提高數據同步的效率。