hadoop - 如何将汉字插入 hive 表?

标签 hadoop unicode utf-8 hive insert

我有一个由以下代码创建的配置单元表:

CREATE TABLE IF NOT EXISTS test
(datetime STRING, person_name STRING)
ALTER TABLE test SET serdeproperties ('serialization.encoding'='UTF-8');

但是,当我尝试通过运行以下命令将测试行插入表中时:

insert into table test values ("2010-01-01", "啊");

它给我以下错误:

FAILED: ParseException line 1:51 character '<EOF>' not supported here
line 1:46 character '啊' not supported here

有谁知道如何正确插入值?感谢您的关注!

最佳答案

我已经用单引号替换了双引号,插入数据时没有看到任何错误。

hive> CREATE TEMPORARY TABLE IF NOT EXISTS test1
    > (datetime STRING, person_name STRING);
OK
Time taken: 0.058 seconds
hive> ALTER TABLE test1 SET serdeproperties ('serialization.encoding'='UTF-8');
OK
Time taken: 0.079 seconds
hive> insert into table test1 values ('2010-01-01', '啊');
Time taken: 12.456 seconds
hive> select * from test1;
OK
2010-01-01      啊
Time taken: 0.168 seconds, Fetched: 1 row(s)

即使有双引号,也没有问题

hive> insert into table test1 values ("2010-01-01", "啊");
hive> select * from test1;
OK
2010-01-01      啊
2010-01-01      啊
Time taken: 0.102 seconds, Fetched: 2 row(s)

关于hadoop - 如何将汉字插入 hive 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54742180/

相关文章:

python - 如何在 flatMap 函数中实现迭代

unicode - iText v5 unicode 和 ColdFusion

python - 如何使用 django 将我的 sqlite3 数据库转储到 UTF8 中的 SQL?

MySQL UTF-8 编码

c++ - 有没有一种简单的方法可以在 Visual Studio 中编写 UTF-8 八位字节?

java - MapReduce 作业 : weird output?

hadoop - 使用自定义文件格式读取Hive中的xml文件

scala - groupBy toList 元素顺序

ios - 在 C 和 Objective C 中处理 unicode 字符串

php - UTF-8贯穿始终