我有一个由以下代码创建的配置单元表:
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
有人知道如何正确插入值吗?谢谢您的关注!
答案 0 :(得分:1)
我用单引号替换了双引号,插入数据时看不到任何错误。
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)