免费注册
帮助文档(华北一、二)

  • 1.1 Sqoop的安装配置

    托管Hadoop中Sqoop默认与Oozie一起安装,如果您创建集群时勾选了Oozie,Sqoop将会安装在托管hadoop-******-master2节点上。如果需要单独安装Sqoop,可以参考以下步骤,否则可略过。

    A. 托管Hadoop中脚本安装

    以在master1节点安装为例。

    在master1节点上以root用户执行以下命令即可,默认安装到/home/hadoop/目录下

     sh /home/hadoop/.versions/umrAgent/script/install.sh sqoop 1.4.5 cdh5.4.9

    B. tar包安装

    以下示例为在托管Hadoop节点上下载tar包安装过程;若在非托管Hadoop节点上安装,需变更相关路径,可以适当参考。

    ● 在http://archive.cloudera.com/cdh5/cdh/5/

    下载sqoop-1.4.5-cdh5.4.9.tar.gz,

    并解压到/home/hadoop/.versions/。

     

      wget "http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.5-cdh5.4.9.tar.gz"

      tar -zvxf sqoop-1.4.5-cdh5.4.9.tar.gz -C /home/hadoop/.versions/

    ● hadoop用户下建立软链

       ln -s /home/hadoop/.versions/sqoop-1.4.5-cdh5.4.9/ /home/hadoop/sqoop

    ● 加环境变量vim ~/.bashrc

     

    # sqoop

    export SQOOP_HOME=$HADOOP_HOME/sqoop

    export PATH=$PATH:$SQOOP_HOME/bin

    ● 配置sqoop环境变量

       cp $SQOOP_HOME/conf/sqoop-env-template.sh  $SQOOP_HOME/conf/sqoop-env.sh

    修改如下参数:

     

    #Set path to where bin/hadoop is available

    export HADOOP_COMMON_HOME=/home/hadoop

    #Set path to where hadoop-*-core.jar is available

    export HADOOP_MAPRED_HOME=/home/hadoop/share/hadoop/mapreduce

    #set the path to where bin/hbase is available

    export HBASE_HOME=/home/hadoop/hbase

    #Set the path to where bin/hive is available

    export HIVE_HOME=/home/hadoop/hive

    #Set the path for where zookeper config dir is

    export ZOOCFGDIR=/home/hadoop/zookeeper/conf

    ● 拷贝相关依赖

     

    cd /home/hadoop/sqoop

    cp /home/hadoop/hive/lib/mysql-connector-java-*.jar ./lib/

    cp /home/hadoop/share/hadoop/mapreduce/* ./lib/

    1.2 从MySQL导出到HDFS

    ● mysql信息如下:

    以MySQL 为例:10.10.50.79;database: hehe;用户:test;密码:test。

    表格信息如下:

    ● 执行语句。

     

    sqoop import --connect jdbc:mysql://10.10.50.79/hehe --username test --

    password test --table t_hadoop_version  --target-dir /tmp/sqoop-import-hdfs

    注解

    10.10.50.79 mysql的ip;

    --username 访问数据的用户名称;

    --password 访问数据的密码;

    --table t_hadoop_version 数据表名称;

    --target-dir 数据导入到hdfs中的目标目录。

    ● 查看结果

    1.3 从MySQL导出到Hive

    ● mysql信息如下:

    ● 执行语句

     

    sqoop import --connect jdbc:mysql://10.10.50.79/hehe --username test --

    password test --table t_hadoop_version  --warehouse-dir 

    /user/hive/warehouse --hive-import --create-hive-table

    注解:

    10.10.50.79是mysql的ip;

    --username test 访问数据的用户名称;

    --password test 访问数据的密码;

    --table t_hadoop_version 数据表名称;

    --warehouse-dir hive数据库的hdfs目录。

    ● 查看结果

    如图所示,mysql中的表格t_hadoop_version已经导入hive中

    1.4 从Hive导出到MySQL

    ● hive表格中数据如下所示:

    ● 执行语句

     

    sqoop export --connect jdbc:mysql://10.10.50.79/hehe --username test --

    password test --table t_hadoop_version  --export-dir 

    /user/hive/warehouse/t_hadoop_version --fields-terminated-by "\t"

    注解

    10.10.50.79是mysql的ip;

    --username test 访问数据的用户名称;

    --password test 访问数据的密码;

    --table t_hadoop_version 数据表名称;

    --export-dir 要导出的数据目录;

    --fields-terminated-by 数据分割方式;

    ● 查看结果

    之前mysql数据库中的结果+hive数据创库的结果,显示如下所示:


文档是否已解决您的问题?

  已解决   未解决

如您有其它疑问,您也可以与我们技术专家联系探讨。

联系技术专家