Hive对UTF-16文件的支持

时间:2015-06-29 10:45:08

标签: amazon-web-services hive utf-16 emr

我们在AWS EMR中使用Hive 0.13.1,并且在我们必须使用UTF-16编码文件之前一切正常。

症状是:

  1. 在开始时有一些带有“特殊符号”的字符串条目,很可能这些是文件中的第一个条目,包括BOM字符。

  2. 对于每个行条目,紧跟在后面都有一个全NULL项。很可能是由于ITEMS TERMINATED BY'\ n'表创建指令以UTF-16编码文件的有趣方式工作。

  3. 每当我尝试查找特定条目时,指定“provider_name ='provider1'” - 即使我可以看到表中存在这样的条目,也没有任何结果,同时选择“select * from” mytable limit 5“。 看起来像桌子的STRING和hive cli的STRING不匹配。当我从另一个查询的输出中专门复制该值时,它们甚至不匹配 - 找不到任何内容。

  4. 除此之外,一切正常:计数,选择​​不同,选择..限制等。

    我尝试应用修正建议here,将“GBK”替换为“UTF-16”,但没有运气。也许问题是 - 此修复程序适用于Hive 0.14.0,而AWS EMR仅支持1.13.1 atm。

    (但是,这个解决方案似乎相当旧 - 检查here。但是,它没有任何帮助。)

    有人会提出什么建议吗?

0 个答案:

没有答案