Hadoop 配置单元插入显示错误

Hadoop 配置单元插入显示错误,hadoop,hive,Hadoop,Hive,我已在配置单元中创建了一个表 create table demo(no int, name string) INSERT demo values (1,'haris') 但当iam在该表中插入值时,会显示以下错误 FAILED: Parse Error: line 2:0 mismatched input 'INSERT' expecting EOF near ')' 也试过这个 INSERT OVERWRITE TABLE demo PARTITION (no = 1, name = '

我已在配置单元中创建了一个表

create table demo(no int, name string)

INSERT demo values (1,'haris')
但当iam在该表中插入值时,会显示以下错误

FAILED: Parse Error: line 2:0 mismatched input 'INSERT' expecting EOF near ')'
也试过这个

INSERT OVERWRITE TABLE demo
PARTITION (no = 1, name = 'Hana')

FAILED: Parse Error: line 4:0 cannot recognize input near 'PARTITION' '(' 'country' in select clause
有人能帮我吗?如何在蜂巢中插入。如果可能,请告诉我有关外部文件的信息?

执行以下操作:

hive> LOAD DATA INPATH '/path_of_the_file_to_insert' INTO TABLE demo;
外部文件是指外部表格吗?请正确设置问题的格式,使其正确可见。多谢各位


针对你的评论:

配置单元不提供记录级插入。可以从查询生成新表,也可以将查询结果输出到文件。所以我不这么认为

insert into table_name (id, name) VALUES (12,"xyz);
这是可能的

当您谈到在配置单元中插入时,有两个选项:

Loading files into tables
Inserting data into Hive Tables from queries
加载操作只是复制/移动操作,将数据文件移动到配置单元表对应的位置,插入意味着使用insert子句将数据插入表中

加载的语法:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
例如:

LOAD DATA INPATH '/path/to/file/test.csv' INTO TABLE table_name;
INSERT OVERWRITE TABLE table2 SELECT * FROM table1;
插入的语法:

INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1 FROM from_statement;
例如:

LOAD DATA INPATH '/path/to/file/test.csv' INTO TABLE table_name;
INSERT OVERWRITE TABLE table2 SELECT * FROM table1;
外部表格:

外部表与配置单元中的任何其他表一样,只是在外部表中,您可以自己控制数据的创建和删除。外部数据的位置在表创建时指定。基本文件不会被复制到配置单元表目录中

CREATE EXTERNAL TABLE external_table (dummy STRING) LOCATION '/user/tom/external_table';
LOAD DATA INPATH '/user/tom/data.txt' INTO TABLE external_table;

HTH

对不起,您是对的,它的外部表。我的MS SQL中有一个tbale,那么我将如何在hive中获得该表?可以直接插入到表中吗?在sql中是指插入到表中的值吗?