Hive导入导出数据

原创
2016/12/30 14:32
阅读数 46

Hive导入导出数据

hive导入数据的几种方式

1. 加载本地文件到Hive表

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

2. 加载HDFS文件到Hive表

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

3. 加载数据覆盖表中已有的数据

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

4. 创建表时通过select加载( 也可以换位某几个字段,创建时直接导入数据)*

create table emp_as as select * from emp ;

5. 用insert命令加载(先要创建好表,然后再写入数据)

应用场景:把用select命令分析的结果写入某个临时表
注意:导入的数据的表的列数和列的类型要保持一致
insert into table 表名 select * from emp ;
insert overwrite table 表名 select * from emp ;
           append 追加写入   --默认
       overwrite 覆盖写入	--使用最多(没有into)

6. 创建表的时候通过location指定加载

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

hive导出数据的方式

1. insert..local directory导出到本地

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表
展开阅读全文
打赏
0
0 收藏
分享

作者的其它热门文章

加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部