如何将数据插入到 Hive(0.13.1) 表中?

2021-12-28 00:00:00 hive mysql hiveql

我使用的是 Hive 版本 0.13.1.尝试将数据插入现有表时,在使用以下查询时出错:

I am using Hive version 0.13.1. While trying to insert data into an existing table getting an error while using the below query:

CREATE TABLE table1 (order_num int, payment_type varchar(20), category varchar(20));
INSERT INTO TABLE table1 VALUES (151, 'cash', 'lunch');

错误:

ParseException line 1:25 无法识别 'VALUES' 附近的输入'('选择子句中的151"

ParseException line 1:25 cannot recognize input near 'VALUES' '(' '151' in select clause

在搜索时,让每个人都建议上述查询,但不幸的是它对我不起作用.是不是因为 Hive 版本不同?
由于链接here
需要帮助将数据插入到 Hive 中的现有表中.

While searching, got everyone suggesting above query, but unfortunately it's not working for me. Is it due to different Hive version?
I am getting this ambiguity due to link here
Needs help to insert data to an existing table in Hive.

推荐答案

Hive 直到 .14 版本才提供插入值语句,因此您需要更改语法以执行插入选择语句.

An insert values statement isn't available in Hive until version .14, so you will need to change your syntax to do a insert select statement.

INSERT INTO TABLE table1 SELECT 151, 'cash', 'lunch';

如果你想插入多个值,那么你可以联合选择

If you want to insert multiple values then you can union selects

INSERT INTO TABLE table1 
    SELECT 151, 'cash', 'lunch'
    union all
    SELECT 152, 'money', 'dinner';

相关文章