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表