zoukankan      html  css  js  c++  java
  • Sqoop安装配置及数据导入导出

    前置条件

    已经成功安装配置Hadoop和Mysql数据库服务器,如果将数据导入或从Hbase导出,还应该已经成功安装配置Hbase。

    下载sqoop和Mysql的JDBC驱动

    sqoop-1.2.0-CDH3B4.tar.gz http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

    mysql-connector-java-5.1.28

    安装sqoop

    [hadoop@appserver ~]$ tar -zxvf sqoop-1.2.0-CDH3B4.tar.gz

    配置环境变量

    拷贝Hadoop核心包和MYSQL驱动包到sqooplib目录

    [hadoop@appserver ~]$ cp hadoop-1.1.2/hadoop-core-1.1.2.jar sqoop-1.2.0-CDH3B4/lib/

    [hadoop@appserver ~]$ cp  mysql-connector-java-5.1.28-bin.jar sqoop-1.2.0-CDH3B4/lib/

    配置sqoop-1.2.0-CDH3B4/bin/configure-sqoop文件

    注释掉hbase和zookeeper检查(除非准备使用HABASE等HADOOP组件)

    启动hadoop集群

    启动mysql

    创建sqoop用户

    建立sqoop库,test表,并构造测试数据

    测试sqoop连接

    [hadoop@appserver ~]$ sqoop list-databases --connect jdbc:mysql://10.120.10.11:3306/ --username sqoop --password sqoop

    列出mysql中所有数据库的名称

    从mysql导入到hdfs

    sqoop ##sqoop命令

    import ##表示导入

    --connect jdbc:mysql://ip:3306/sqoop ##告诉jdbc,连接mysql的url

    --username sqoop ##连接mysql的用户名

    --password sqoop ##连接mysql的密码

    --table test ##从mysql导出的表名称

    --fields-terminated-by ' ' ##指定输出文件中的行的字段分隔符

    -m 1 ##复制过程使用1个map作业

    [hadoop@appserver ~]$ sqoop import --connect jdbc:mysql://10.120.10.11:3306/sqoop --username sqoop --password sqoop --table test --fields-terminated-by ':' -m 1

    Hadoop中查看导入结果

    从hdfs导出到mysql

    sqoop

    export ##表示数据从hive复制到mysql中

    --connect jdbc:mysql://ip:3306/sqoop

    --username sqoop

    --password sqoop

    --table test ##mysql中的表,即将被导入的表名称

    --export-dir '/user/root/aa/part-m-00000' ##hive中被导出的文件

    --fields-terminated-by ' ' ##hive中被导出的文件字段的分隔符

    [hadoop@appserver ~]$ sqoop export --connect jdbc:mysql://10.120.10.11:3306/sqoop --username sqoop --password sqoop --table test --export-dir '/user/hadoop/test/part-m-00000' --fields-terminated-by ':' -m 1

    Mysql中查看导出结果

    从Mysql导入到Hbase

    参数说明:

    Ø hbase_tablename指定要导成hbase的表名

    Ø key_col_name指定mysql数据库表中哪一列作为hbase新表的rowkey

    Ø col_fam_name是除rowkey之外的所有列的列族名

    [hadoop@appserver ~]$ sqoop import --connect jdbc:mysql://10.120.10.11:3306/sqoop --username sqoop --password sqoop --table test --hbase-create-table --hbase-table mysql_sqoop_test --column-family info --hbase-row-key id -m 1

    在Hbase中查看结果

    转自:http://www.blogjava.net/redhatlinux/archive/2014/05/31/414291.html

  • 相关阅读:
    Mac从零配置Vim
    Mac效率:配置Alfred web search
    看看你的邻居在干什么
    成功破解邻居的Wifi密码
    MacBook安装Win10
    C陷阱:求数组长度
    Nexus 6P 解锁+TWRP+CM
    搭建树莓派手机远程开门系统
    Ubuntu下配置ShadowS + Chrome
    JS传参出现乱码(转载)
  • 原文地址:https://www.cnblogs.com/theseven/p/4942619.html
Copyright © 2011-2022 走看看