为什么我们无法将数据导入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无法识别'(''''',' in select clause
我不想通过csv文件导入数据,如下所示进行测试。
load data local inpath '/home/hduser/test_data.csv' into table hive_test;
答案 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');