DDL(Data Manipulation Language)
导入数据
LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]
- LOCAL: 本地系统,如果没有
local那么就是指的HDFS的路径 - OVERWRITE:是否数据覆盖,如果没有
OVERWRITE那么就是数据追加
例如:从HDFS中添加数据并追加:使用命令LOAD DATA INPATH 'hdfs://swarm-worker1:9000/data/emp.txt' INTO TABLE emp;
从HDFS中添加数据并覆盖:使用命令LOAD DATA INPATH 'hdfs://swarm-worker1:9000/data/emp.txt' OVERWRITE INTO TABLE emp;
还需要注意的是:如果是从HDFS中读取数据,那么读取完之后,会自动删除HDFS中对应的数据。
插入数据
create table emp1 as select * from emp;可将一个QUERY语句的结果存到一张新表中。

将查询结果写到本地文件系统中
INSERT OVERWRITE [LOCAL] DIRECTORY directory1
[ROW FORMAT row_format] [STORED AS file_format] (Note: Only available starting with Hive 0.11.0)
SELECT ... FROM ...
例如将查询结果写入到本地文件:INSERT OVERWRITE LOCAL DIRECTORY '/tmp/hive/' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' select empno,ename,sal,deptno from emp;将查询结果写入到本地/tmp/hive下,如果把LOCAL去掉那么可以写入到HDFS中。
Hive数据操作详解
638

被折叠的 条评论
为什么被折叠?



