Hive DML操作
生活随笔
收集整理的這篇文章主要介紹了
Hive DML操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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 DML操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hive DDL操作
- 下一篇: Hive 内部表与外部表