前提 配置hadoop配置文件

前提 启动hadoop

配置hive

改名进入sqoop/conf 增加环境变量

tar xf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/src/
cd /usr/local/src/
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
cd /usr/local/src/sqoop/conf/
cp sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh #添加配置 export HADOOP_COMMON_HOME=/usr/local/src/hadoop
export HADOOP_MAPRED_HOME=/usr/local/src/hadoop
export HBASE_HOME=/usr/local/src/hbase
export HIVE_HOME=/usr/local/src/hive

配置sqoop变量

vi /etc/profile.d/sqoop.sh
export SQOOP_HOME=/usr/local/src/sqoop
export PATH=$SQOOP_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
# 保存以上配置使配置文件生效
source /etc/profile.d/sqoop.sh
echo $PATH #验证
cp /opt/software/mysql-connector-java-5.1.46.jar /usr/local/src/sqoop/lib/

在master上执行启动sqoop集群

su - hadoop
start-all.sh
# 执行以上命令后要确保master上有NameNode、SecondaryNameNode、ResourceManager进程,slave节点上要有DataNode、NodeManager进程
sqoop list-databases --connect jdbc:mysql://master:3306 --username root -P #查看sqoop能否发现master里的5个数据库
# 如果以上命令执行后能看到以下5个数据库则表示启动成功,且能正常连接数据库
information_schema
hive
mysql
performance_schema
sys

连接hive配置(在master上执行)

cp /usr/local/src/hive/lib/hive-common-2.0.0.jar  /usr/local/src/sqoop/lib/
mysql -uroot -pHuawei123$
mysql> create database sample;
mysql> use sample;
mysql> create table student(number char(9) primary key, name varchar(10));
mysql> insert into student values('01','zhangsan'),('02','lisi'),('03','wangwu');
mysql> select * from student;
+--------+----------+
| number | name |
+--------+----------+
| 01 | zhangsan |
| 02 | lisi |
| 03 | wangwu |
+--------+----------+
3 rows in set (0.00 sec)
mysql> quit
# 如果能看到以上三条记录则表示数据库中表创建成功
# 在 Hive 中创建 sample 数据库和 student 数据表
hive
hive> create database sample;
hive> use sample;
hive> create table student(number STRING,name STRING);
hive> exit; #mysql 创建数据后

将mysql里的数据导入进hive里

 sqoop import --connect jdbc:mysql://master:3306/sample --username root --password Password123! --table student --fields-terminated-by '|' --    delete-target-dir --num-mappers 1 --hive-import --hive-database sample --hive-table student

查看

hive
hive> select * from sample.student;
OK
01|zhangsan NULL
02|lisi NULL
03|wangwu NULL
Time taken: 1.556 seconds, Fetched: 3 row(s)
hive> exit;
# 能看到以上内容则表示将数据从mysql导入到hive成功了。

hive导入mysql

首先在mysql里创建对应的表
create table fox(number char(9) primary key, name varchar(10));
导入对应表
sqoop export --connect "jdbc:mysql://master:3306/sample?useUnicode=true&characterEncoding=utf-8" --username root --password Huawei123$ --table fox --input-fields-terminated-by '|' --export-dir /user/hive/warehouse/sample.db/student/*
mysql> select * from fox
-> ;
+--------+----------+
| number | name |
+--------+----------+
| 01 | zhangsan |
| 02 | lisi |
| 03 | wangwu |
+--------+----------+
3 rows in set (0.00 sec) mysql>
# 能看到以上内容则表示从hadoop集群的hive中导出数据到mysql数据库成功。

sqoop常用命令

列出所有数据库

[hadoop@master src]$ sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password Huawei123$

连接 MySQL 并列出 sample 数据库中的表

[hadoop@master src]$ sqoop list-tables --connect "jdbc:mysql://master:3306/sample?useSSL=false" --username root --password Huawei123$

将关系型数据的表结构复制到 hive 中,只是复制表的结构,表中的内容没有复制过去

[hadoop@master src]$ sqoop create-hive-table  --connect jdbc:mysql://master:3306/sample  --table student --username root --password Huawei123$ --hive-table mqy

hive导入表内容

[hadoop@master src]$ sqoop import --connect jdbc:mysql://master:3306/sample --username root --password  Huawei123$ --table student --fields-terminated-by '|' --delete-target-dir --num-mappers 1 --hive-import --hive-database default --hive-table test

从mysql中导出表内容到HDFS文件中

[hadoop@master src]$ sqoop import --connect jdbc:mysql://master:3306/sample --username root --password Password123! --table student --num-mappers 1 --target-dir /user/test

查看hdfs的文件

[hadoop@master src]$ hdfs dfs -ls /user/test
Found 2 items
-rw-r--r-- 3 hadoop supergroup 0 2022-04-29 17:05 /user/test/_SUCCESS
-rw-r--r-- 3 hadoop supergroup 30 2022-04-29 17:05 /user/test/part-m-00000
[hadoop@master src]$ hdfs dfs -cat /user/test/part-m-00000
01,zhangsan
02,lisi
03,wangwu
[hadoop@master src]$

sqoop 从数据库导入数据到hdfs的更多相关文章

  1. 第3节 sqoop:4、sqoop的数据导入之导入数据到hdfs和导入数据到hive表

    注意: (1)\001 是hive当中默认使用的分隔符,这个玩意儿是一个asc 码值,键盘上面打不出来 (2)linux中一行写不下,可以末尾加上 一些空格和 “ \ ”,换行继续写余下的命令: bi ...

  2. 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟

    使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 Sqoop 大数据 Hive HBase ETL 使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 ...

  3. 使用sqoop从mysql导入数据到hive

      目录 前言 一.使用的导入命令 二.遇到的问题及解决 1. 用文本字段进行分区的问题 2. Hadoop历史服务器Hadoop JobHistory没开启的问题 3. 连接元数据存储数据库报错 4 ...

  4. 教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

    基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 S ...

  5. sqoop 从sqlserver2008 导入数据到hadoop

    今天终于开始上手导入数据到hadoop了,哈哈,过程蛮崎岖的,和官方文档的还不太一样. OK,let's go!试验对象是我第一个名为ST_Statistics的一张表,我要把我表里的数据导入到hdf ...

  6. Sqlserver 2005 跨数据库 导入数据

    --Sqlserver 2005 跨数据库 导入数据:--SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/O ...

  7. 1.6-1.10 使用Sqoop导入数据到HDFS及一些设置

    一.导数据 1.import和export Sqoop可以在HDFS/Hive和关系型数据库之间进行数据的导入导出,其中主要使用了import和export这两个工具.这两个工具非常强大, 提供了很多 ...

  8. sqoop从hive导入数据到mysql时出现主键冲突

    今天在将一个hive数仓表导出到mysql数据库时出现进度条一直维持在95%一段时间后提示失败的情况,搞了好久才解决.使用的环境是HUE中的Oozie的workflow任何调用sqoop命令,该死的o ...

  9. MYSQL数据库导入数据时出现乱码的解决办法

    我的一个网站在负载搞不定的情况下最终选择了数据库和程序分离的方式解决的高负载,但是再导入数据的时候出现了大量乱码,最终通过方法二解决掉导入数据的问题,后面再设计网站布局的时候数据库跟网站程序分离是个很 ...

  10. solr8.0 从数据库导入数据(三)

    第一步:导入相关包: 在创建的核心目录下新建lib文件夹(如果有,无需建立),从Solr源码包的dist文件夹中导入两个solr-dataimporthandler包,以及一个mysql驱动包. 第二 ...

随机推荐

  1. nginx优化实践与验证

    nginx优化实践 实践场景1: 单台nginx 2核4G 实践场景2: 三台nginx 2核4G 压测工具:WRK 初始安装的nginx压测: yum install -y nginx 安装WRK压 ...

  2. 记一次 .NET某工业设计软件 崩溃分析

    一:背景 1. 讲故事 前些天有位朋友找到我,说他的软件在客户那边不知道什么原因崩掉了,从windows事件日志看崩溃在 clr 里,让我能否帮忙定位下,dump 也抓到了,既然dump有了,接下来就 ...

  3. iOS 后台录音Tweak实现参考--stackoverflow

    up vote9down voteaccepted +50 "Audio Recorder" is indeed a very simple tweak. The author t ...

  4. Python 将Word/ Exce/ PDF/ PPT文档转为OFD文档

    OFD(Open Fixed-layout Document )是我国自主制定的一种开放版式文件格式标准.OFD文档具有不易被篡改.格式独立.版式固定等特点,目前常用于政府公文.金融.电子发票等领域. ...

  5. Python3基本语法(新)

    目录 基本语法 输出print() 格式化输出 标识符 import关键字 保留字(关键字) 注释 多行注释 1.单引号(''') 2.双引号(""") 缩进 空行 同一 ...

  6. Yolov8和Yolov10的差异以及后处理实现

    Yolo模型可分为4个维度的概念 模型版本.数据集.模型变体(Variants).动态/静态模型. Yolo各模型版本进展历史 Yolov(2015年华盛顿大学的 Joseph Redmon 和 Al ...

  7. 对于 EI K 逆序对排列计数的另一种自然求和方法的理解

    有一个简单的 \(O(n^3)\) DP,考虑 \(f_{x + 1, k} = \sum_{j = 0}^{x} f_{x, k - j}\),利用前缀和优化即可. 考虑这实际上是 \(f_{x + ...

  8. P7322

    P7322 好神仙! \(\color{#5bc9}\text{提醒,本文有大量没有推到过程的式子,所以读者可以自己遮住先推一下}\) Inscription: 有一个长度为 \(k\) 的窗口,在一 ...

  9. xxlJob Cron表达式 0 0 8,13 * * ?

    xxlJob Cron表达式  0 0 8,13 * * ? Cron有如下两种语法格式:(1)Seconds Minutes Hours DayofMonth Month DayofWeek Yea ...

  10. uniapp 开发微信小程序 使用微信小程序一键登录

    研究了一天的uniapp开发微信小程序的第一步,登录! 刚开始使用uni.getUserInfo函数No!不行,无法运行,研究文档发现是这个函数被微信小程序团队给禁用了,OK换! 后来换成了uni.g ...