导入导出数据
導(dǎo)入數(shù)據(jù)
從文件中裝載數(shù)據(jù)
hive>LOAD DATA [LOCAL] INPATH '...' [OVERWRITE] INTO TABLE t2 [PARTITION (province='beijing')];
LOCAL:linux本地的文件。無LOCAL:是hdfs的文件
注意:
從本地文件系統(tǒng)中將數(shù)據(jù)導(dǎo)入到Hive表的過程中,其實是先將數(shù)據(jù)臨時復(fù)制到HDFS的一個目錄下(典型的情況是復(fù)制到上傳用戶的HDFS home目錄下,比如/home/wyp/),然后再將數(shù)據(jù)從那個臨時目錄下移動(注意,這里說的是移動,不是復(fù)制!)到對應(yīng)的Hive表的數(shù)據(jù)目錄里面。
既然如此,那么Hive肯定支持將數(shù)據(jù)直接從HDFS上的一個目錄移動到相應(yīng)Hive表的數(shù)據(jù)目錄下。
是的!經(jīng)過測試:將HDFS的文件導(dǎo)入到HIVE的表后,HDFS原來目錄的下的文件沒了,跑到HIVE表目錄下面了。
hive>INSERT OVERWRITE TABLE t2 PARTITION (province='beijing') SELECT * FROM xxx WHERE xxx
導(dǎo)出數(shù)據(jù)
在hdfs復(fù)制文件(夾)
$ hadoop fs -cp source destination
使用DIRECTORY
hive>INSERT OVERWRITE 【LOCAL】 DIRECTORY '...' SELECT ...FROM...WHERE ...;
總結(jié)
- 上一篇: python定时任务是异步的吗_定时任务
- 下一篇: SecureCRT配置