まず、datax-web を使用して、datax3.0 を通じて postgresql から mysql にデータを同期する方法を見てみましょう。
対応する datax に必要な json ファイルもここにあります
まず、data-web に移動して、必要な json を構築します。ここでは、最初にデータ ソースを追加します。ここでは、mysql から 2 つのデータ ソース、postgresql から 1 つ、hbase から 1 つを追加しました。他のブログ投稿で述べたように、json を hbase に書き込みます大丈夫、テンプレートが用意されているので、必要なときにそれを直接コピーできます。
Json の最後に以下を追加する必要があることに注意してください。
,
"core": {
"transport": {
"channel": {
"speed": {
"byte": 1231412
}
}
}
}
完全な JSON を見てみましょう
{
"job": {
"setting": {
"speed": {
"channel": 3,
"byte": 1048576
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "postgresqlreader",
"parameter": {
"username": "XVko54UY9nOe/3JQGQUikw==",
"password": "XCYVpFosvZBBWobFzmLWvA==",
"column": [
"\"id\"",
"\"name\"",
"\"mobile\"",
"\"email\"",
"\"son_json\""
],
"splitPk": "",
"connection": [
{
"table": [
"public.userinfo"
],
"jdbcUrl": [
"jdbc:postgresql://172.19.126.122:5432/test_db"
]
}
]
}
},
"writer": {
"name": "mysqlwriter",
"parameter": {
"username": "yRjwDFuoPKlqya9h9H2Amg==",
"password": "XCYVpFosvZBBWobFzmLWvA==",
"column": [
"`id`",
"`name`",
"`email`",
"`mobile`",
"`son_json`"
],
"connection": [
{
"table": [
"userinfo"
],
"jdbcUrl": "jdbc:mysql://172.19.126.123:3306/nifibase?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai&useSSL=false&verifyServerCertificate=false&autoReconnect=true&failOverReadOnly=false"
}
]
}
}
}
]
},
"core": {
"transport": {
"channel": {
"speed": {
"byte": 1231412
}
}
}
}
}
ここで実行してデータを渡します
---------------------
次に、datax-web を介して Postgresql のデータを hbase にインポートする方法を見てみましょう。ここでは Phoenix を使用しています。
対応する JSON ファイルもここにあります。
{
"job": {
"setting": {
"speed": {
"channel": 3,
"byte": 1048576
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "postgresqlreader",
"parameter": {
"username": "XVko54UY9nOe/3JQGQUikw==",
"password": "XCYVpFosvZBBWobFzmLWvA==",
"column": [
"\"id\"",
"\"name\"",
"\"mobile\"",
"\"email\"",
"\"son_json\""
],
"splitPk": "",
"connection": [
{
"table": [
"public.userinfo"
],
"jdbcUrl": [
"jdbc:postgresql://172.19.126.122:5432/test_db"
]
}
]
}
},
"writer": {
"name": "hbase20xsqlwriter",
"parameter": {
"batchSize": "100",
"column": [
"id",
"name",
"mobile",
"email",
"son_json"
],
"queryServerAddress": "http://127.0.0.1:8765",
"nullMode": "skip",
"table": "userinfo"
}
}
}
]
},
"core": {
"transport": {
"channel": {
"speed": {
"byte": 1231412
}
}
}
}
}
タスクを構築するには、mysql に postgresql を構築し、json を取得した後に変更します。ここでは、実行可能な対応する json を直接与えます。
まず対応するタスクを実行します
まず、hbase の userinfo テーブルをクリアしましょう。ここでは、squirrel を使用して、Phoenix 経由で hbase を操作します。
次に同期を実行します
実行後、同期されていることが確認できます。
------------------------------
次に、datax-web を通じてそれを実現し、postgresql からデータを読み取り、それを hbase テーブルと mysql テーブルに同時に保存する方法を見てみましょう。
まず、mysql テーブルのデータをクリアしましょう
次に、hbase テーブルのデータをクリアします。
次に、jsonを見てください