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;
(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';