数据(单引号和Doube引号)在Hive中不匹配

时间:2016-11-04 04:21:42

标签: hadoop hive hiveql hadoop2 hive-serde

将文件从大型机加载到ORC格式的Hadoop时,一些数据加载了单引号(')并保留了双引号(“)。但完整的源文件是单引号(')。 要使用Hive Cobol Serde指定自定义分隔符。

示例:

来源数据:

First_Name Last_name 地址

Rev'Har' O'Amy 4031'B'Ave

加载到Hadoop中,一些数据格式正确('),一些数据带双引号(“)如下所示:

First_Name Last_name 地址

Rev“Har” O“Amy 4031”B“Ave

可能是什么问题以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

一个可能的问题可能是在创建表时给出的分隔符​​

所以试试 行格式SERDE'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'with SERDEPROPERTIES(“serialization.encoding”='UTF-8');在创建配置表然后加载数据时。

如果您想要清理数据,请尝试使用此链接中的udf删除所有特殊字符https://github.com/ogrodnek/csv-serde