帮别人做网站怎么赚钱,做网站需要注意什么,东川网站制作,简述网站建设方法DataX将MySQL数据同步到HDFS中时#xff0c;空值存到HDFS中时#xff0c;默认是存储为\N#xff0c;这样会有两个缺点#xff1a;
会产生歧义#xff0c;如果MySQL业务数据中有\N数据#xff0c;那么存储到HDFS上是\N#xff0c;null值存储也是\N#xff0c;当用Hive查…DataX将MySQL数据同步到HDFS中时空值存到HDFS中时默认是存储为\N这样会有两个缺点
会产生歧义如果MySQL业务数据中有\N数据那么存储到HDFS上是\Nnull值存储也是\N当用Hive查询时会用is null进行查询那么会把真实的业务数据也查询为null所以建议存储到HDFS上时把null存储为将HDFS的数据再导入MySQL时会把\N存储进去数据就不对了
处理方案有2个
不处理。那么datax会存储\Nhive会自动把\N查询为null。但是会产生歧义修改源码。 修改DataX HDFS Writer的源码增加自定义null值存储格式的逻辑可参考记Datax3.0解决MySQL抽数到HDFSNULL变为空字符的问题_datax nullformat_谭正强的博客-CSDN博客。 在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/;
参考文章
http://t.csdn.cn/WmEEWhive 空值的处理