色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

datax 動態(tài)生成json參數(shù)文件

老白2年前9瀏覽0評論

最近在進行數(shù)據(jù)同步方面的工作,嘗試使用datax來完成數(shù)據(jù)遷移的任務,但是遇到了一個問題:我需要使用動態(tài)的方式生成datax的json參數(shù)文件,以達到自動化的目的。經(jīng)過一番探索,我總結出了以下幾個步驟:

1、先定義好json文件的基礎結構

{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "root",
"password": "xxxxxx",
"column": [
"id",
"name",
"age",
"gender"
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"username": "root",
"password": "xxxxxx",
"column": [
"id",
"name",
"age",
"gender"
]
}
}
}
]
}
}

2、定義需要動態(tài)傳入的參數(shù)變量

var parameters = {
"mysqlreader": {
"url": "jdbc:mysql://localhost:3306/test",
"table": "student"
},
"mysqlwriter": {
"url": "jdbc:mysql://localhost:3306/newdb",
"table": "newtable"
}
};

3、引入lodash庫,使用模板引擎_.template生成json文件

var _ = require('lodash');
var fs = require('fs');
var template = _.template(fs.readFileSync('./template.json').toString());
var parameter = parameters['mysqlreader'];
var parameter2 = parameters['mysqlwriter'];
var result = template({
url:parameter.url,
table:parameter.table,
url2:parameter2.url,
table2:parameter2.table
});
console.log(result);

4、將生成的json文件保存到本地

fs.writeFileSync('./config.json',result);

5、在使用datax的時候直接引入動態(tài)生成的config.json文件即可

以上就是動態(tài)生成datax json參數(shù)文件的步驟,希望對大家有所幫助!