Sqoop的安装与使用
Sqoop介绍
Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特点以批处理的方式加快数据传输,发展至今主要演化了二大版本,Sqoop1和Sqoop2,我们以Sqoop1为案例进行讲解,Sqoop2商用不太稳定。Sqoop工具是Hadoop下连接关系型数据库和Hadoop的桥梁,支持关系型数据库和hive、hdfs,hbase之间数据的相互导入,可以使用全表导入和增量导入。
一、工具:
1. sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
2. mysql-connector-java-5.1.40.tar.gz
二、安装Sqoop
1. 解压sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
$>sudo tar -zxfsqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local/
2. 修改目录名和所有者
$>sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop
$>sudo chown -R hadoop:hadoop sqoop/
3. 添加环境变量
$>gedit ~/.bashrc
添加内容:
# sqoopinstall
exportSQOOP_HOME=/usr/local/sqoop
exportPATH=$PATH:$SQOOP_HOME/bin
exportCLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
4. 使环境变量生效
$>source ~/.bashrc
5. 修改配置文件
a. 复制sqoop-env-template.sh 为sqoop-env.sh
$>cd conf/
$> cat sqoop-env-template.sh >> sqoop-env.sh
b. 修改sqoop-env.sh
$>gedit sqoop-env.sh
修改内容:
exportHADOOP_COMMON_HOME=/usr/local/hadoop
exportHADOOP_MAPRED_HOME=/usr/local/hadoop
exportHBASE_HOME=/usr/local/habase
export HIVE_HOME=/usr/local/hive
6. 添加mysql驱动
$> cd mysql-connector-java-5.1.40/
$> cp mysql-connector-java-5.1.40-bin.jar/usr/local/sqoop/lib/
7. 测试与mysql的连接
$> sqoop list-databases --connectjdbc:mysql://127.0.0.1:3306/ --username root –P
8. 将mysql中的hive数据库中的表导入到HDFS中
a. 登录mysql
$>mysql -u root –p
b. 查看hive数据库中有哪些表
mysql> use hive;
mysql> show tables;
c. 启动hadoop
$>start-dfs.sh
$>jps
d. 将hive数据库中的表导入到HDFS中
$> sqoop import -m 1 --connectjdbc:mysql://127.0.0.1:3306/hive --username root -P --table DBS --target-dir/user/sqoop/test1
e. 查看是否导入HDFS中
$> hadoop fs -lsr /user/sqoop/
完整详细步骤(含各个步骤截图)下载:https://download.csdn.net/download/weixin_42006411/10491586