sr2.2.2版本,datax核心配置:
“reader”: {
“name”: “mysqlreader”,
“parameter”: {
“username”: “xxx”,
“password”: “123456”,
“splitPk”: “”,
“where”:"",
“column”: [“current_date() as dt”,“id”,“tagname”,“keywords”,“tag_prefix”,“tag_dis”,“status”,“create_by”,“create_time”,“update_by”,“update_time”,“remark”,“domain_code”,“count”,“operation_flag”],
“connection”: [
{
“table”: [ “lex_industry_lexicon” ],
“jdbcUrl”: [
“jdbc:mysql://xxxx:3306/xxxx?useUnicode=true&characterEncoding=utf8”
]
}
]
}
},
“writer”: {
“name”: “starrockswriter”,
“parameter”: {
“username”: “xxxx”,
“password”: “xxxx”,
“database”: “dim”,
“table”: “lex_industry_lexicon”,
“column”: [“dt”,“id”,“tagname”,“keywords”,“tag_prefix”,“tag_dis”,“status”,“create_by”,“create_time”,“update_by”,“update_time”,“remark”,“domain_code”,“count”,“operation_flag”],
“preSql”: [],
“postSql”: [],
“jdbcUrl”: “jdbc:mysql://xxx:9030/”,
“loadUrl”: [“xxx:8030”, “xxx:8030”,“xxxx:8030”],
“loadProps”: {
“format”: “json”,
“strip_outer_array”: true
}
}
}
结果streamload报错:
实际上从datax组装的查询sql看该字段不可能是空的:
用datax的sql查询:
数据库该字段是非空约束,不可能是空的。
sr表表结构:
CREATE TABLE dim.
lex_industry_lexicon
(dt date not null comment ‘同步日期’,
id
bigint(20) not null comment ‘mysql数据库自增id’,tagname
varchar(200) NOT NULL COMMENT ‘词条名称’,keywords
varchar(1200) NOT NULL COMMENT ‘正则\r\n’,tag_prefix
varchar(20) NOT NULL COMMENT ‘tagname前缀’,tag_dis
varchar(100) DEFAULT NULL COMMENT ‘tagname后缀’,status
char(1) DEFAULT ‘0’ COMMENT ‘状态(0正常 1停用)’,create_by
bigint(20) DEFAULT NULL COMMENT ‘创建者’,create_time
datetime DEFAULT NULL COMMENT ‘创建时间’,update_by
bigint(20) DEFAULT NULL COMMENT ‘更新者’,update_time
datetime DEFAULT NULL COMMENT ‘更新时间’,remark
varchar(500) DEFAULT NULL COMMENT ‘备注’,domain_code
varchar(30) DEFAULT NULL COMMENT ‘行业领域表code’,count
int(11) DEFAULT NULL COMMENT ‘属性数量’,operation_flag
int(1) DEFAULT NULL COMMENT ‘想修改、想删除标志位(0或其它不做修改,1想修改,2想删除)’)
PRIMARY KEY (dt,
id
)COMMENT ‘行业词库表’
PARTITION BY RANGE(
dt
)(PARTITION p20221129 VALUES LESS THAN (“2022-11-30”),
PARTITION p20221130 VALUES LESS THAN (“2022-12-01”)
)
DISTRIBUTED BY HASH(id) BUCKETS 8
PROPERTIES(
“dynamic_partition.enable” = “true”,
“dynamic_partition.time_unit” = “DAY”,
“dynamic_partition.start” = “-3”,
“dynamic_partition.end” = “3”,
“dynamic_partition.prefix” = “p”,
“dynamic_partition.buckets” = “8”
);
我不同步tag_prefix这个字段就可以正常同步数据。这个字段是关键词嘛?