0

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

例子:

源数据:

名字 姓氏 地址

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

加载到 Hadoop 作为,一些具有正确格式(')的数据和一些带有双引号(“)的数据如下:

名字 姓氏 地址

Rev "Har" O"Amy 4031 "B" Ave

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

4

1 回答 1

0

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

所以尝试 ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES(“serialization.encoding”='UTF-8'); 同时创建配置单元表,然后加载数据。

如果您希望数据干净,还可以尝试使用此链接中给出的 udf 删除所有特殊字符https://github.com/ogrodnek/csv-serde

于 2016-11-04T06:25:22.733 回答