Hive三种不同的数据导出的方式

版权声明: https://blog.csdn.net/KamRoseLee/article/details/84242596

Hive三种不同的数据导出的方式

1、导出到本地文件系统

insert overwrite local directory '/home/anjianbing/soft/export_data/app_order_city_d'

row format delimited

fields terminated by '\t'

select * from app.app_order_city_d limit 10;

通过insert overwrite local directory将hive中的表app_order_city_d的内容到本地文件系统的/home/anjianbing/soft/export_data下的app_order_city_d目录下,这条HQL的执行需要启用Mapreduce完成,

运行完这条语句之后,将会在本地文件系统的/home/anjianbing/soft/export_data/app_order_city_d目录下生成文件,这个文件是Reduce产生的结果(这里生成的文件名是000000_0)

 

2、导出到hive的另一个表中

insert into table hive_student_test 
select id,name,sex,salary from student; 

 

扫描二维码关注公众号,回复: 4654022 查看本文章

(3) $ hive -e "select * from employees" >> export/out.txt

 

Hive Load方式加载数据

load data local inpath '/home/joe/Desktop/employees.tsv' overwrite into table employees;

 

Sqoop与关系型数据库导入导出命令

1.列出所有数据库

$SQOOP_HOME/bin/sqoop list-databases --connect jdbc:mysql://192.168.209.1:3306/ --username root --password 123456

2.mysql导出表到hive并创建表(默认default库,如需设置路径:--warehouse-dir /user/hive/warehouse/t_etl_log)

$SQOOP_HOME/bin/sqoop import --connect jdbc:mysql://192.168.209.1:3306/world --username root --password 123456 --table city --hive-import -m 1

3.hdfs导出到mysql

$SQOOP_HOME/bin/sqoop export --connect jdbc:mysql://192.168.209.1:3306/world --username root --password 123456 --table city --fields-terminated-by '\001' --export-dir /user/hive/warehouse/city

 

MySQL
一、 把 employees.tsv 文件数据导入数据表:
$ mysql --local-infile –u hadoopuser –p
mysql> load data local infile '/home/joe/Desktop/employees.tsv' into table employees fields
terminated by '\t' lines terminated by '\n';
二、 利用 MySQL 导出数据:
mysql> select * from employees into outfile '/tmp/mysql_out.csv' fields terminated by ',' lines
terminated by '\n';

 

猜你喜欢

转载自blog.csdn.net/KamRoseLee/article/details/84242596