• CentOS 7 配置hadoop(五) 配置sqoop(伪分布)


    章节: 

      第一章节:CentOS 7 配置hadoop(一) 安装虚拟机(伪分布)

      第二章节:CentOS 7 配置hadoop(二) 配置hdfs(伪分布) 

      第三章节:CentOS 7 配置hadoop(三) 配置hbase(伪分布) 

      第四章节:CentOS 7 配置hadoop(四) 配置hive(伪分布)  

      第五章节:CentOS 7 配置hadoop(五) 配置sqoop(伪分布) 

      第六章节:CentOS 7 配置hadoop(六) 配置flume(伪分布)  

    第五章CentOS 7 配置hadoop(五) 配置sqoop(伪分布)

     准备 sqoop压缩包    所需内容在第一章节   CentOS 7 配置hadoop(一) 安装虚拟机  

      1.使用 FileZilla 上传sqoop文件到虚拟机

        

       2.上传完成,到虚拟机解压    tar -xzvf 包名

       3.解压完成

        1)配置环境变量

            

          export SQOOP_HOME=/root/sqoop-1.4.6-cdh5.7.0
          export PATH=$PATH:$SQOOP_HOME/bin

        2)拷贝mysql的jdbc jar文件sqoop的lib目录   在上章 hive的lib包下已经存在,只需要传过来就OK 

            cp /root/hive-1.1.0-cdh5.7.0/lib/ mysql-connector-java-5.1.45-bin.jar /root/sqoop-1.4.6-cdh5.7.0/lib/

          注意:1.使用sqoop前需要导入Java-json.jar的包到sqoop的lib目录下    使用FileZilla上传 (文件在章节一)
                        2.将hive/lib/hive* 拷贝到sqoop的lib目录下           cp /root/hive-1.1.0-cdh5.7.0/lib/hive* /root/sqoop-1.4.6-cdh5.7.0/lib/

        3)测试   sqoop version  

       

           sqoop list-databases --connect jdbc:mysql://master:3306/ --username root -P     回车之后会让输入mysql root用户的密码

        

          出现上述红框的内容证明sqoop配置无误

        在使用sqoop是,需要在mysql 赋予虚拟机用户的权限    master为主机名 12345为mysql密码

            grant all privileges on *.* to root@master identified by '12345';

            flush privileges;

      4.使用sqoop

        1)mysql导入到hive(hdfs)

          (1)进入mysql 创建数据库

            create database hive_test;

            进入数据库

            use hive_test;

            创建表

            CREATE TABLE user (id int,name varchar(20));

            添加数据

            insert into user (id,name) values (1,'a'),(2,''test);

          (2)进入hive 创建数据库

            create database hive_test;

            进入数据库

            use hive_test;

            创建表

            create table user (id int,name string)row format delimited fields terminated by ' ';

          (3)mysql数据导入hive数据 

    # --connect 连接   --username mysql账号  --password mysql密码  --table mysql表名  -m 执行map的次数  --fields-terminated-by 列的分割  --hive-import 导入hive  --hive-database  hive中的那个数据库 --hive-table hive表  --target-dir 是你要导入到那个表的地址
    sqoop import --connect jdbc:mysql://master:3306/hive_test --username root --password hadoop --table user --fields-terminated-by '	' --delete-target-dir --target-dir /user/hive/warehouse/hive_test.db/user --m 1 --hive-import --hive-database hive_test --hive-table user

           (4)查看hive 中的表数据

             

         显示出来代表执行成功

        2)hdfs导出到mysql

          (1)创建hive 表

            create table users (id int,name string)row format delimited fields terminated by ' '

          (2)添加数据

            insert into users values (1,'b'),(2,'a');

          (3)创建mysql表

            CREATE TABLE users (id int,name varchar(20));

          (4)hdfs导入mysql

    #--connect 连接 --username mysql账号 --password mysql密码 --table mysql表名 --export-dir hive文件在网站上的那个地方  --fields-terminated-by 列的分割 --m 执行map的次数
    sqoop export --connect jdbc:mysql://master:3306/hive_test --username root --password hadoop --table users --export-dir /user/hive/warehouse/hive_test.db/users/000000_0 --fields-terminated-by '	' --m 1

            (5)查看mysql表中数据

            

     到此sqoop配置以及使用结束!!!

  • 相关阅读:
    阿里容器简介
    docker学习笔记(总纲)
    Apache利用mod_limitipconn模块限制客户端多线程下载
    Android从assets目录下读取文件相关
    android 指纹识别
    App前后台判断
    Error:Failed to create directory 'C:UsersAdministrator.gradlecaches2.8scriptsijinit7_5jx13p26
    com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files
    重复导包:Error:Execution failed for task ':countrynumberlibrary:mergeDebugResources'. > Some file crunching failed, see logs for details
    支付宝集成
  • 原文地址:https://www.cnblogs.com/lihui123/p/14140675.html
Copyright © 2020-2023  润新知