Hive Utf-8编码支持的字符数?

Che*_*ate 5 hadoop hive utf-8

您好,实际上问题如下,我要在蜂巢表中插入的数据具有拉丁语单词,且其格式为utf-8。但是,蜂巢仍然无法正确显示它。

实际数据:- 实际数据

数据已插入配置单元

蜂巢数据

我将表的编码更改为utf-8,下面仍然是蜂巢DDL和命令

CREATE TABLE IF NOT EXISTS test6
(
CONTACT_RECORD_ID    string,
ACCOUNT    string,
CUST    string,
NUMBER    string,
NUMBER1    string,
NUMBER2    string,
NUMBER3    string,
NUMBER4    string,
NUMBER5    string,
NUMBER6    string,
NUMBER7    string,
LIST    string
)
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY '|';
ALTER TABLE test6 SET serdeproperties ('serialization.encoding'='UTF-8');
Run Code Online (Sandbox Code Playgroud)

蜂巢是否仅支持UTF-8的前128个字符?请提出建议。

小智 4

这可能不是理想的解决方案,但这是可行的。Hive 似乎不将它们视为 UTF8。请尝试使用以下参数创建表:

CREATE TABLE testjoins.yt_sample_mapping_1(
   `col1` string,
   `col2` string,
   `col3` string)
   ROW FORMAT SERDE "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
   WITH SERDEPROPERTIES ( "separatorChar" = ",", 
    "quoteChar" = "\"", 
    "escapeChar" = "\\", 
    "serialization.encoding"='ISO-8859-1') 
    TBLPROPERTIES ( 'store.charset'='ISO-8859-1', 
    'retrieve.charset'='ISO-8859-1');
Run Code Online (Sandbox Code Playgroud)