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中是指插入到表中的值吗?