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表