做这个 :
hive> LOAD DATA INPATH '/path_of_the_file_to_insert' INTO TABLE demo;
外部文件是指外部表吗?请正确格式化您的问题,以便正确显示。谢谢你。
回应您的评论:
Hive 不提供记录级插入。您可以从查询生成新表或将查询结果输出到文件。所以我不认为像
insert into table_name (id, name) VALUES (12,"xyz);
是可能的。
当您谈论 Hive 中的插入时,您有 2 个选项:
Loading files into tables
Inserting data into Hive Tables from queries
加载操作只是将数据文件移动到与 Hive 表对应的位置的复制/移动操作,插入意味着使用插入子句将数据插入表中。
LOAD 的语法:
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 的语法:
INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1 FROM from_statement;
例子 :
INSERT OVERWRITE TABLE table2 SELECT * FROM table1;
外部表:
外部表就像 Hive 中的任何其他表一样,除了在外部表中您自己控制数据的创建和删除。外部数据的位置在表创建时指定。基本文件不会被复制到 Hive 表目录中。
CREATE EXTERNAL TABLE external_table (dummy STRING) LOCATION '/user/tom/external_table';
LOAD DATA INPATH '/user/tom/data.txt' INTO TABLE external_table;
高温高压