datax t同步pg数据到hive分区表json脚本怎么写
时间: 2023-07-03 19:18:51 浏览: 399
yinian_hive_increase:datax从mysql同步数据到hive
下面是一个将 PG 数据库中的数据同步到 Hive 分区表的 DataX Job 的 json 脚本示例:
```json
{
"job": {
"setting": {
"speed": {
"channel": "3"
}
},
"content": [
{
"reader": {
"name": "pgsqlreader",
"parameter": {
"column": [
"id",
"name",
"age",
"gender"
],
"connection": [
{
"jdbcUrl": "jdbc:postgresql://localhost:5432/test",
"table": "(select * from test_table) as t",
"username": "username",
"password": "password"
}
],
"splitPk": "id",
"where": ""
}
},
"writer": {
"name": "hdfswriter",
"parameter": {
"column": [
"id",
"name",
"age",
"gender"
],
"fieldDelimiter": "\t",
"fileType": "text",
"path": "/user/hive/warehouse/test.db/test_table",
"fileName": "",
"writeMode": "append",
"compress": "NONE",
"dateFormat": "yyyy-MM-dd",
"encoding": "UTF-8",
"nullFormat": "\\N",
"header": "false",
"footer": "false",
"mergeSmallFiles": "false",
"partition": [
{
"name": "dt",
"type": "string",
"format": "yyyyMMdd",
"value": "${date}"
}
],
"hiveConf": [
{
"name": "hive.exec.dynamic.partition.mode",
"value": "nonstrict"
}
],
"preSql": "",
"postSql": ""
}
},
"transformer": {
"name": "dt",
"parameter": {
"column": [
"id",
"name",
"age",
"gender"
]
}
}
}
]
}
}
```
在这个示例中,我们使用 PGSQL Reader 读取 test_table 表中的数据,并使用 Hive Writer 将数据写入到 Hive 分区表 test_table 中。在 Hive Writer 中,我们指定了数据的分区字段为 dt,格式为 yyyyMMdd,并且指定了 Hive 表的路径为 /user/hive/warehouse/test.db/test_table。在 partition 中,我们使用了 ${date} 变量来动态指定数据的分区。
注意:在运行这个 DataX Job 之前,需要先创建好 Hive 表,并且在 Hive 中添加好对应的分区。
阅读全文