如何将中文字符插入配置单元表?

q5iwbnjs  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(514)

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

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

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

o0lyfsai

o0lyfsai1#

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

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)

相关问题