Sqoop hive数据导出到mysql

Sqoop

Sqoop是一个开源的工具,能用来hadoop(或者说是hive)和关系型数据库(mysql)之间转输,可将数据从hive中导出到mysql,也能从mysql导入到hive。

Sqoop安装

下载sqoop,这里用的是1.4.7版本
http://apache.mirrors.pair.com/sqoop/1.4.7/

解压后,将sqoop安装地址添加到环境变量中
vim ~/.bashrc

export SQOOP_HOME=sqoop安装地址
export path=$path:$SQOOP_HOME/bin

保存后,使用source ~/.bashrc
然后在sqoop的bin目录下,修改configure-sqoop

export HADOOP_HOME=hadoop安装地址
export HIVE_HOME=hive安装地址

保存后,即可使用。

导入

将mysql数据导入到hdfs中

sqoop import --connect jdbc:mysql://localhost/test --username root --password 123 --table test_table -m 1 

会在hadoop中生成对应的数据文件,默认目录在/user/用户名/
在hive中建表,表结构要跟数据对应,将数据文件跟表关联
如:

create table test_table(id int , name string);

hdfs将数据文件导入到hive表中

load data inpath '/user/hadoop/test_table' into table test_table;

导出

如上,假设hive和mysql中的表都已建好,要将hive中表的数据导出到mysql的表中。

sqoop export --connect jdbc:mysql://localhost/test --username root --password 123 --table test_table --export-dir /user/hive/test/test_table 
发布了79 篇原创文章 · 获赞 3 · 访问量 5237

猜你喜欢

转载自blog.csdn.net/SW_LCC/article/details/103713381
今日推荐