HIve CLI不支持将MySql样式数据导入表

时间:2013-03-04 10:15:45

标签: sql hadoop hive

为什么我们无法将数据导入hive CLI,如下所示:hive_test表格包含usercomments列。

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

Hive在hive CLI中抛出异常

  

失败:ParseException行1:28无法识别'(''''',' in select clause

我不想通过csv文件导入数据,如下所示进行测试。

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

2 个答案:

答案 0 :(得分:4)

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

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

these test queries推断,您可能会得到以下内容:

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

然而,似乎Hive并没有真正针对这种小规模数据操作进行优化。我没有Hive实例来测试其中任何一个。

答案 1 :(得分:0)

我认为,这是因为user是内置(保留)关键字。

试试这个:

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