优分销app下载,关键词优化推广排名多少钱,十大最好用虚拟机,wordpress 不显示账号名HFDS Writer并未提供nullFormat参数#xff1a;也就是用户并不能自定义null值写到HFDS文件中的存储格式。默认情况下#xff0c;HFDS Writer会将null值存储为空字符串#xff08;#xff09;#xff0c;而Hive默认的null值存储格式为\N。所以后期将DataX同步的文件导入Hiv…HFDS Writer并未提供nullFormat参数也就是用户并不能自定义null值写到HFDS文件中的存储格式。默认情况下HFDS Writer会将null值存储为空字符串而Hive默认的null值存储格式为\N。所以后期将DataX同步的文件导入Hive表就会出现问题。
解决方案
在Hive中建表时指定null值存储格式为空字符串例如 DROP TABLE IF EXISTS base_province;
CREATE EXTERNAL TABLE base_province
(id STRING COMMENT 编号,name STRING COMMENT 省份名称,region_id STRING COMMENT 地区ID,area_code STRING COMMENT 地区编码,iso_code STRING COMMENT 旧版ISO-3166-2编码供可视化使用,iso_3166_2 STRING COMMENT 新版IOS-3166-2编码供可视化使用
) COMMENT 省份表ROW FORMAT DELIMITED FIELDS TERMINATED BY \tNULL DEFINED AS
LOCATION /base_province/;
vim base_province_sql.json
---------------------
{ job: { content: [ { reader: { name: mysqlreader, # 固定写法 parameter: { connection: [ { jdbcUrl: [ jdbc:mysql://hadoop102:3306/gmall?useUnicodetrueallowPublicKeyRetrievaltruecharacterEncodingutf-8 ], querySql: [ select id,name,region_id,area_code,iso_code,iso_3166_2,create_time,operate_time from base_province where id3 ] } ], password: 000000, username: root } }, writer: { name: hdfswriter, # 固定写法 parameter: { column: [ { name: id, type: bigint }, { name: name, type: string }, { name: region_id, type: string }, { name: area_code, type: string }, { name: iso_code, type: string }, { name: iso_3166_2, type: string }, { name: create_time, type: string }, { name: operate_time, type: string } ], compress: gzip, #text支持gziporc支持snappy defaultFS: hdfs://hadoop102:8020, fieldDelimiter: \t, fileName: base_province, fileType: text, # 支持orc和text path: /base_province, writeMode: append } } } ], setting: { speed: { channel: 1 } } } }