本文共 902 字,大约阅读时间需要 3 分钟。
Sqoop是一个开源的工具,能用来hadoop(或者说是hive)和关系型数据库(mysql)之间转输,可将数据从hive中导出到mysql,也能从mysql导入到hive。
下载sqoop,这里用的是1.4.7版本
http://apache.mirrors.pair.com/sqoop/1.4.7/解压后,将sqoop安装地址添加到环境变量中
vim ~/.bashrcexport SQOOP_HOME=sqoop安装地址export path=$path:$SQOOP_HOME/bin
保存后,使用source ~/.bashrc
然后在sqoop的bin目录下,修改configure-sqoopexport 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
转载地址:http://pukai.baihongyu.com/