1. 程式人生 > >hive學習 —Hive幾種匯出資料方式

hive學習 —Hive幾種匯出資料方式

如果資料檔案恰好是使用者需要的格式,那麼只需要拷貝檔案或資料夾就可以。

hadoop fs –cp source_path target_path

2.匯出到本地檔案系統

--不能使用insert into local directory來匯出資料,會報錯

--只能使用insert overwrite local directory來匯出資料

--hive0.11版本之前,只能使用預設分隔符^A(ascii碼是\00001)

insert overwrite local directory '/home/sopdm/wrk'

select id,name,tel,age from sopdm.wyp; 

--hive0.11版本之後,可以指定分隔符

insert overwrite local directory '/home/sopdm/wrk'

row format delimited

fields terminated by ','

select id,name,tel,age from sopdm.wyp;

--匯出資料到多個輸出資料夾

from employees se

insert overwrite local directory ‘/tmp/or_employees’

     select * se where se.cty=’US’ and se.st=’OR’

insert overwrite local directory ‘/tmp/ca_employees’

     select * se where se.cty=’US’ and se.st=’CA’

3.匯出到HDFS

--比匯出檔案到本地檔案系統少了一個local

insert overwritedirectory '/home/sopdm/wrk'

select id,name,tel,age from sopdm.wyp;

--hive0.11版本之後,可以指定分隔符

insert overwritedirectory '/home/sopdm/wrk'

row format delimited

fields terminated by ','

select id,name,tel,age from sopdm.wyp;

4.匯出到hive的另一張表


insert into table sopdm.wyp2

partition(age='25')

select id,name,tel,age from sopdm.wyp;

5.使用hive的-e和-f引數命令匯出資料

--使用hive的-e引數

hive –e “select * from wyp” >> /local/wyp.txt

--使用hive的-f引數, wyp.hql中為hql語句

hive –f wyp.hql >> /local/wyp2.txt

6.匯出到關係型資料庫

sqoop export --connect jdbc:mysql://host001/test --username root --password szy --table person --export-dir person sqoop export --connect jdbc:mysql://host001/test --username root --password szy --table animal --export-dir animal