zoukankan      html  css  js  c++  java
  • CentOS 7 配置hadoop(五) 配置sqoop(伪分布)

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

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

    2.1Linux解压并删除压缩包 tar -zxvf  sqoop    仅解压

    2.2 mkdir ./sqoop && tar -xzvf sqoop-1.4.6-cdh5.7.0.tar.gz -C ./sqoop --strip-components 1  

    把解压文件放在sqoop的目录下,这样就得到了“sqoop”命名的解压文件。

    –strip-components = NUMBER

    在提取时从文件名中删除NUMBER个前导组件 

     3.配置环境变量 

    vi /etc/profile
    
    export SQOOP_HOME=/opt/sqoop-1.4.6-cdh5.7.0
    
    export PATH=$PATH:$SQOOP_HOME/bin

    source /etc/profile  

     

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

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

     注意:1.使用sqoop前需要导入Java-json.jar的包到sqoop的lib目录下    使用FileZilla上传  hive下面有java-json.jar

        sqoop/lib下有hadoop-core-2.6.0-mr1-cdh5.7.0-20160212.213956-397.jar和mysql的jar

            2.将之前上传的mysql-connector-java-5.1.45-bin.jar 拷贝到sqoop的lib目录下       

        3.将hive/lib/hive* 拷贝到sqoop的lib目录下           cp /opt/hive-1.1.0-cdh5.7.0/lib/hive* /opt/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';
    
    
    

     执行这句报错 说明你的密码太简单, 就先执行下面这两句在执行赋权操作:

     如何密码设置简单的 需要执行:

     set global validate_password_policy=0; 

     set global validate_password_length=1;

    最后在刷新:flush privileges;

    5.使用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表中数据

       

     

  • 相关阅读:
    (转)C# 泛型委托 Action<>和Func<>
    (转)ASP.NET Core 中间件与筛选器
    react中将svg做成icon组件在其他模块调用
    react简单的tab切换 (styled-components)
    计算购物车金额总和( jquery )
    js分享功能(微信,QQ,微博,空间,豆瓣等)
    AJAX入门介绍
    作为前端,你不得不知道的搜索引擎优化
    微信小程序实现图片双滑缩放大小
    swiper实现一个好看的轮播图
  • 原文地址:https://www.cnblogs.com/wdyjt/p/14164248.html
Copyright © 2011-2022 走看看