Impala 不支持 Unicode 字符

Posted

技术标签:

【中文标题】Impala 不支持 Unicode 字符【英文标题】:Impala not supporting Unicode characters 【发布时间】:2019-11-06 14:41:06 【问题描述】:

选择语句在 Impala 上返回错误字符。 第一张图片显示了 Hive 的结果,第二张图片显示了 Impala 的结果。它是在 Hive 中创建的托管表,源表是外部的

【问题讨论】:

您是否在查询中为该列的 impala 执行子字符串或任何字符串操作? @JNevill 不,我只是在执行 select * from table 一般来说 impala 可以 存储和显示 unicode,但它非常有限(这似乎有点愚蠢)。本质上,它将STRING 视为一个字节数组,因此它只识别 unicode 字符为 2、3 或 4 个字节的单个字节。因此,虽然它应该存储和显示 unicode(偶然),但在某些情况下它可能会自己吐出来。 Here 它说它会在以下期间发生故障:“字符串操作函数、比较运算符、ORDER BY 子句。分区键列中的值。” @JNevill 有什么解决办法吗? 【参考方案1】:

我遇到了类似的问题,这个链接帮助了我 https://community.cloudera.com/t5/Support-Questions/Hive-UTF-8-problems/td-p/172558

在插入时使用类似的东西

insert into test select 'привет' from test limit 1;

【讨论】:

以上是关于Impala 不支持 Unicode 字符的主要内容,如果未能解决你的问题,请参考以下文章

系统使用(Python2不支持的) Unicode UTF-8 字符导致 ArcGIS 运行崩毁

jdbc连接impala

Impala SQL:合并具有重叠日期的行。不支持 WHERE EXISTS 和递归 CTE

Impala与Hive的优缺点和异同

Unicode字符集 和多字节字符集 有啥关系啊

Cloudera impala 支持 mongodb 吗?