Hive導入導出數據

Hive導入導出數據mysql

hive導入數據的幾種方式sql

1. 加載本地文件到Hive表app

load data local inpath 'path/file' into table 表名稱 ;

2. 加載HDFS文件到Hive表工具

load data inpath 'path/file' into table 表名稱 ;

3. 加載數據覆蓋表中已有的數據oop

load data local inpath 'path/file' overwrite into table 表名稱 ;

4. 建立表時經過select加載( 也能夠換位某幾個字段,建立時直接導入數據)*code

create table emp_as as select * from emp ;

5. 用insert命令加載(先要建立好表,而後再寫入數據)orm

應用場景:把用select命令分析的結果寫入某個臨時表
注意:導入的數據的表的列數和列的類型要保持一致
insert into table 表名 select * from emp ;
insert overwrite table 表名 select * from emp ;
           append 追加寫入   --默認
       overwrite 覆蓋寫入	--使用最多(沒有into)

6. 建立表的時候經過location指定加載it

create table 表名(
……
)
partitioned by 		--注意順序
row format ..
location "" ;

hive導出數據的方式io

1. insert..local directory導出到本地table

insert overwrite local diretory "path/" select ....
> insert overwrite local directory '/opt/modules/mydata'
> row format delimited fields terminated by '\t' 
> select * from student;

2. insert..directory導出到HDFS(注意沒有分割的那一句,默認是空格分割)

insert overwrite directory "path/" select * from emp ;

3. hive -e把查詢結果導出到一個指定文件

bin/hive -e 'select * from student'>tab.txt

4. sqoop工具

Hive表數據 --> mysql表
相關文章
相關標籤/搜索