Can’t parse input data:’PAR((
01、背景
学习尚硅谷的数仓,想把行为数仓和业务数仓的ads层的所有表格导出到mysql中,有一些表导不出,应该是行为数仓和业务数仓的同名表(比如名字都叫ads_uv_count)的建表语句不一样。
02、导出ads_uv_count时报错
02-01、VMWare软件
02-02、SecureCRT 7.3软件
03、原因
ads蹭的ads_uv_count的建表语句,应该选下面那个,有数据;选上面那个没数据,报错。
放大点
上面的建表
create external table ads_uv_count(
`dt` string COMMENT '统计日期',
`day_count` bigint COMMENT '当日用户数量',
`wk_count` bigint COMMENT '当周用户数量',
`mn_count` bigint COMMENT '当月用户数量',
`is_weekend` string COMMENT 'Y,N是否是周末,用于得到本周最终结果',
`is_monthend` string COMMENT 'Y,N是否是月末,用于得到本月最终结果'
) COMMENT '活跃设备数'
stored as parquet
location '/warehouse/gmall/ads/ads_uv_count/'
;
下面的建表
create external table ads_uv_count(
`dt` string COMMENT '统计日期',
`day_count` bigint COMMENT '当日用户数量',
`wk_count` bigint COMMENT '当周用户数量',
`mn_count` bigint COMMENT '当月用户数量',
`is_weekend` string COMMENT 'Y,N是否是周末,用于得到本周最终结果',
`is_monthend` string COMMENT 'Y,N是否是月末,用于得到本月最终结果'
) COMMENT '活跃设备数'
row format delimited fields terminated by '\t'
location '/warehouse/gmall/ads/ads_uv_count/'
;
04、下面只是在寻找原因时的一些拓展
04-01、HDFS上Hive的ads_uv_count的内容
04-02、相同的ads_uv_count(Hive表)在DBWeaver、VMWare、SecureCRT 7.3、Sublime三个软件中的显示
04-02-01、DBWeaver
04-02-02、VMWare
04-02-03、SecureCRT 7.3
04-02-04、Sublime
04-03、文件编码
用”file --mime-encoding 文件名”来查询,在liunx中自己新建的ads_uv_log.sh是utf-8编码,运行ads_uv_log.sh后产生的ads_uv_log.java是ascii编码,HDSF上的Hive表是binary编码。
[root@hadoop102 bin]# file --mime-encoding ads_uv_log.sh
xsync: utf-8
[root@hadoop102 bin]# file --mime-encoding ads_uv_log.java
yanagishima.log: us-ascii
[root@hadoop102 bin]# file --mime-encoding 000000_0
000000_0: binary