• [sqoop]hive3.1.2 hadoop3.1.1安装sqoop1.4.7


    参考:

    Hadoop3.2.4+Hive3.1.2+sqoop1.4.7安装部署_hadoop sqoop安装_alicely07的博客-CSDN博客

    一、安装

    1、解压

    1. tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz  -C /home/data_warehouse/module
    2. mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop-1.4.7

    2、配置文件 

    sqoop-env.sh 末尾添加

    1. #指定Hadoop安装目录
    2. export HADOOP_COMMON_HOME=/home/data_warehouse/module/hadoop-3.1.3
    3. export HADOOP_MAPRED_HOME=/home/data_warehouse/module/hadoop-3.1.3
    4. #指定Hive安装目录
    5. export HIVE_HOME=/home/data_warehouse/module/hive-3.1.2
    6. #指定ZooKeeper安装目录
    7. export ZOOKEEPER_HOME=/opt/module/zookeeper
    8. export ZOOCFGDIR=/opt/module/zookeeper/conf
    9. export HCAT_HOME=/home/data_warehouse/module/hive-3.1.2/hcatalog

    环境变量

    先创建目录,解决警告:accumulo does not exist!

    [root@ck3 /home/data_warehouse/module/sqoop-1.4.7]# mkdir accumulo
    1. #SQOOP_HOME
    2. export SQOOP_HOME=/home/data_warehouse/module/sqoop-1.4.7
    3. export PATH=$PATH:$SQOOP_HOME/bin
    4. export ACCUMULO_HOME=$SQOOP_HOME/accumulo

    3、jar包

    (1)添加jdbc驱动包:将MySQL数据库的JDBC驱动包mysql-connector-java-5.1.37.jar添加到Sqoop安装目录的lib目录中。

    (2)删除Sqoop安装目录的lib目录中的commons-lang3-3.4.jar,并添加commons-lang-2.6.jar(在$HADOOP_HOME/share/hadoop/yarn/timelineservice/lib/commons-lang-2.6.jar下可以找到)

    (3)其他包

    需在sqoop-1.4.7-bin_hadoop2.6.0/lib下添加 hive-*.jar、datanucleus-*.jar、derby-10.14.1.0.jar、javax.jdo-3.2.0-m3.jar

    三、测试

    1、测试Sqoop是否能够成功连接数据库

    sqoop list-databases --connect jdbc:mysql://ck3:3306/ --username root --password 123456

    2、mysql到HDFS

    1. # mysql -uroot -p123456
    2. mysql> create database company;
    3. mysql> create table company.staff(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
    4. mysql> insert into company.staff(name, sex) values('Thomas', 'Male');
    5. mysql> insert into company.staff(name, sex) values('Catalina', 'FeMale');
    1. sqoop import \
    2. --connect jdbc:mysql://ck3:3306/company \
    3. --username root \
    4. --password 123456 \
    5. --table staff \
    6. --target-dir /user/hive/warehouse/company \
    7. --delete-target-dir \
    8. --num-mappers 1 \
    9. --fields-terminated-by "\t"

    3、hive到hdfs

    1)在hive中建表

    1. create table test.stu(
    2. name string,
    3. id string
    4. )
    5. row format delimited
    6. fields terminated by "\t"
    7. ;
    8. insert into table stu values("haha",1),("heihei",2);
    9. select distinct name from stu;

    2)在mysql中建表

    1. create table test.stu_mysql(
    2. name varchar(255),
    3. id varchar(255)
    4. );

    3)将hive表导入到Mysql对应的表

    1. sqoop export \
    2. --connect jdbc:mysql://ck3:3306/test \
    3. --username root \
    4. --password 123456 \
    5. --table stu_mysql \
    6. --columns "name,id" \
    7. --export-dir /user/hive/warehouse/test.db/stu \
    8. --input-fields-terminated-by "\t"
    9. ;

  • 相关阅读:
    算法通关村第二关|青铜|链表反转
    全面废除“竞业协议”计划告吹!美国联邦法院裁定 FTC 越权,禁令无效
    Multi-Paxos算法
    chatgpt赋能python:Python数值计算指南:为什么它是一种强大的工具
    面向对象的选项卡切换
    P1151 子数整数
    【计算机网络(1)】计算机网络体系结构1:计算机网络概述
    并发:线程状态
    反序列化漏洞介绍
    Python爬虫实战(进阶篇)—7获取每日菜价(附完整代码)
  • 原文地址:https://blog.csdn.net/qq_35896718/article/details/133020296