0

为什么我们不能将数据导入 Hive CLI,如下所示,hive_test表有user,comments列。

insert into table hive_test (user, comments) 
value ("hello", "this is a test query");

Hive 在 Hive CLI 中引发以下异常

失败:ParseException 行 1:28 无法识别选择子句中“(”“用户”“,”附近的输入

我不想通过 csv 文件导入数据,如下面的测试目的。

load data local inpath '/home/hduser/test_data.csv' into table hive_test;
4

2 回答 2

4

值得注意的是,Hive 宣传“类似 SQL”的语法,而不是实际的 SQL 语法。没有特别的理由认为纯 SQL 查询实际上会在 Hive 上运行。HiveQL 的 DML 记录在 Wiki 上,不支持列规范语法或VALUES子句。但是,它确实支持这种语法:

INSERT INTO TABLE tablename1 SELECT ... FROM ...

从这些测试查询中推断,您可能会得到类似以下的工作:

INSERT INTO TABLE hive_test SELECT 'hello', 'this is a test query' FROM src LIMIT 1

但是,Hive 似乎并没有真正针对这种小规模数据操作进行优化。我没有 Hive 实例来测试这些。

于 2013-03-04T10:35:20.523 回答
0

我想,这是因为user是一个内置的(保留)关键字。

试试这个:

insert into table hive_test ("user", comments) 
value ('hello', 'this is a test query');
于 2013-03-04T10:22:04.323 回答