【发布时间】:2016-10-08 21:54:11
【问题描述】:
是否有任何 Serde 可用于支持带有 Unicode 字符的配置单元表。我们可能有 UTF-8、UTF-18 和 UTF-32 的文件。这没什么,但我们正在寻找支持不同的语言,如在 hive 表中的日语、中文。我们应该能够将不同语言的数据加载到 hive 表中
【问题讨论】:
标签: hive
是否有任何 Serde 可用于支持带有 Unicode 字符的配置单元表。我们可能有 UTF-8、UTF-18 和 UTF-32 的文件。这没什么,但我们正在寻找支持不同的语言,如在 hive 表中的日语、中文。我们应该能够将不同语言的数据加载到 hive 表中
【问题讨论】:
标签: hive
Hive 只能读写 UTF-8 文本文件。
对于其他字符集,应转换为UTF-8。
转换语法为
hive> CREATE TABLE mytable(name, datatype) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' WITH SERDEPROPERTIES("serialization.encoding"='FORMAT');
可以使用 iconv 完成转换,但它只支持小于 16G 的文件。 语法:
>iconv -f encoding -t encoding inputfile
【讨论】: