sqoop部署

news2025/8/13 13:18:50

一、实验介绍

1.1实验内容

本次实验包括sqoop安装部署及利用Sqoop在mysql数据库与hive之间进行数据迁移。

1.2实验知识点

Sqoop安装
mysql到Hive数据迁移

1.3实验环境

Sqoop-1.4.7
网易云平台

1.4实验资源

资源名称存储目录
Sqoop安装包/opt/software/package/

在这里插入图片描述

1.5实验步骤清单

sqoop安装部署(安装sqoop、修改sqoop配置文件)
sqoop数据迁移(检查环境、数据迁移)

二、实训架构

序号IP地址机器名类型
1172.25.10.140masterSqoop
2172.25.10.141slave1
3172.25.10.142slave2
4172.25.10.143slave2

三、实验环境准备

进入实验列表,找到sqoop,点击开启实验,启动master、slave1及salve2,slave3。

四、实验步骤

4.1Sqoop安装部署

4.1.1安装Sqoop软件

#解压sqoop安装包
tar xvf /opt/software/package/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/

#重命名sqoop目录
mv /usr/local/sqoop-1.4.7.bin__hadoop-2.6.0/ /usr/local/sqoop/

#添加环境变量
vim /etc/profile

export  SQOOP_HOME=/usr/local/sqoop
export  PATH=${SQOOP_HOME}/bin:$PATH
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*

在这里插入图片描述

#环境变量生效
source /etc/profile

4.1.2修改Sqoop配置文件

#编辑sqoop-env.sh文件
cp /usr/local/sqoop/conf/sqoop-env-template.sh /usr/local/sqoop/conf/sqoop-env.sh
vim /usr/local/sqoop/conf/sqoop-env.sh

export  HADOOP_COMMON_HOME=/usr/local/hadoop
export  HADOOP_MAPRED_HOME=/usr/local/hadoop
export  HIVE_HOME=/usr/local/hive	
export  HIVE_CONF_DIR=/usr/local/hive/conf

在这里插入图片描述

#上传mysql-connector jar包到sqoop lib目录下
cp /opt/software/package/mysql-connector-java-5.1.46-bin.jar /usr/local/sqoop/lib/

4.2Sqoop数据迁移

4.2.1检查环境

#查看Sqoop版本
sqoop version

#启动mysql
systemctl start mysqld
#查看mysql的表
sqoop list-tables --username root --password 'root' --connect jdbc:mysql://localhost:3306/metastore?characterEncoding=UTF-8

4.2.2数据迁移

1、查看用于测试的MySQL数据库表及数据
#登录mysql
mysql -uroot -proot

#创建testdb数据库
create database testdb;

use testdb;

#创建表及插入数据脚本

create table t1 (id int(11),name varchar(10));
insert into t1 values(10,'tom');
insert into t1 values(20,'jerry');
insert into t1 values(30,'rose');
commit;

在这里插入图片描述

#查看表
show tables;
在这里插入图片描述

#查看表数据
select * from t1;
在这里插入图片描述

#退出mysql客户端
exit;

2、基于MySQL的表t1创建Hive表t1
#查看mysql数据库

sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password root
information_schema

#查看mysql数据库testdb中的表
sqoop list-tables --connect jdbc:mysql://localhost:3306/testdb --username root --password root

在这里插入图片描述

#配置java安全策略文件
vim /usr/local/java/jre/lib/security/java.policy
添加以下权限,此权限表示在签名者或代码库中信任。
permission javax.management.MBeanTrustPermission “register”;

#替换sqoop中的Jackson包
由于hive和sqoop jackson版本不一致,使用hive中的jackson包替换sqoop中的包。
rm -f /usr/local/sqoop/lib/jackson-*
cp /usr/local/hive/lib/jackson-* /usr/local/sqoop/lib/

#设置hosts
vi /etc/hosts

source /etc/profile

#启动hadoop
start-all.sh

#创建hive表t1
在已经存在的testdb这个库中创建名为t1的表。
sqoop create-hive-table --connect jdbc:mysql://localhost:3306/testdb --table t1 --username root -password 'root' --hive-database testdb --hive-table t1
显示以下信息表示导入表完成。
22/05/30 07:45:27 INFO hive.HiveImport: Hive import complete.
在这里插入图片描述

#查看hive中的数据库和表
hive

#切换到testdb数据库
use testdb;

#查看表
show tables;

#查看表数据(此时数据为空)
select * from t1;

在这里插入图片描述

#退出hive
exit;

#查看hdfs里面的数据
hdfs dfs -ls -R /user
在这里插入图片描述

#清空hdfs数据
hdfs dfs -rm -R /user/hive/warehouse/testdb.db/t1
在这里插入图片描述

#从mysql导入数据到hive
sqoop import --connect jdbc:mysql://master:3306/testdb?characterEncoding=UTF-8 --table t1 --username root --password 'root' --hive-import --hive-database testdb -m 1
18/11/21 15:50:22 INFO hive.HiveImport: Hive import complete.

4、执行hive命令测试上面的操作是否成功
#启动hive
hive

#进入testdb数据库
use testdb;

#显示表
show tables;
OK
t1
Time taken: 0.173 seconds, Fetched: 1 row(s)

#查看t1表里的数据
select * from t1;
OK
10 tom
20 jerry
30 rose
Time taken: 0.262 seconds, Fetched: 3 row(s)

五、实验总结

Sqoop是一款开源的工具,主要用于在Hadoop Hive与传统的数据库mysql间进行数据的传递,可以将一个关系型数据库 MySQL中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
本次实验主要完成了Sqoop的安装及验证通过Sqoop将MySQL数据导入到Hive数据仓库中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/14988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

原生 canvas 如何实现大屏?

前言 可视化大屏该如何做?有可能一天完成吗?废话不多说,直接看效果,线上 Demo 地址 lxfu1.github.io/large-scree…。 看完这篇文章(这个项目),你将收获: 全局状态真的很简单&…

多篇《Nature》和《Science》关于马约拉纳费米子的研究论文近日被撤稿

马约拉纳费米子(英语:Majorana fermion)是一种假设粒子,它的反粒子就是它本身,1937年,埃托雷马约拉纳发表论文假想这种粒子存在,因此而命名。与之相异,狄拉克费米子,指的…

当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界

导读 用户生成内容(User Generated Content,UGC)是互联网上多模态内容的重要组成部分,UGC数据级的不断增长促进了各大多模态内容平台的繁荣。在海量多模态数据和深度学习大模型的加持下,AI生成内容(AI Gen…

(七)文件——PHP

文章目录第七章 文件1 文件包含**1.1 include()函数****1.2 require()函数**2 文件的读取和写入**2.1 文件模式****2.2 文件读取****2.3 文件写入**3 文件上传3.1 创建表单3.2 创建脚本3.3 实例第七章 文件 1 文件包含 您可以在服务器执行PHP文件之前将其内容包含到另一个PHP…

支付宝"手机网站支付"主域名申请了,二级域名还要申请吗

微信商城小程序里可以用支付宝付款吗?当然可以了,不过需要去支付宝官方网站去申请一个接口,注意选对产品,支付宝提供了很多种接口,微信里要用到的支付宝付款属于“手机网站支付”这个产品,重要的事情说三遍…

一文讲解,Linux内核——内存管理(建议收藏)

一.内存的基础知识: 1.写程序到程序运行的过程: (1)编译:由编译程序将用户代码编译成若干个目标模块(把高级语言翻译成机器语言) (2)链接:由链接程序将编译…

头歌平台-MongoDB 之滴滴、摩拜都在用的索引

第1关:了解并创建一个简单索引 > use test switched to db test > db.student.insert([{_id:1,name:"王小明",age:15,score:90},{_id:2,name:"周晓晓",age:18,score:86},{_id:3,name:"王敏",age:20,score:96},{_id:4,name:&qu…

kudu集群数据节点(tserver)扩容(缩容)

背景: 4个数据节点有数据倾斜,rebalance后依旧如此,检查分片数量和分布情况也是均衡的。最后发现相同的分片在其中一个节点存储消耗的磁盘资源比其他节点要大很多,导致了这个节点磁盘消耗较快。于是决定更换节点的磁盘 操作计划如…

【freeRTOS】操作系统之一-任务调度

一. 任务调度 ​ FreeRTOS操作系统支持三种调度方式:抢占式调度,时间片调度和合作式调度。实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少。 挂起/阻塞/就绪/运行 三种基本状态 进程在运行中不断地改变其运行状态。通常&…

智能网联汽车网络安全攻击与防御技术概述

作者 | 王博文 上海控安可信软件创新研究院研究员 来源 | 鉴源实验室 01 引言 在汽车电动化、网联化、智能化和共享化等新四化的发展趋势下,智能网联汽车(Intelligent Connected Vehicles,ICVs)已经是新时代的必然产物。在智能网…

【学习笔记】浅谈闵可夫斯基和

学这东西主要是 这道题 要用 233 定义:给定两个凸包AAA,BBB,定义C{ab∣a∈A,b∈B}C\{ab|a\in A,b\in B\}C{ab∣a∈A,b∈B} ,其中aaa,bbb均为坐标。 不好意思图是嫖的 首先我们感性认识一下。可以直接将一个凸包的顶点换成另一个凸包&#x…

实现登陆模块时Cookie,Session,Token的理解

目录引言一、简化版登陆(不保存登录状态)二、Session 登陆三、CookieSession 实现登录四、Token登陆引言 先思考问题: 1、如何实现登陆? (1)表单输入账号密码 (2)后台数据库验证 …

治愈系书单|林曦《只生欢喜不生愁》

《只生欢喜不生愁》是水墨画家林曦的艺术生活随笔集,谈艺术之道,论无用之美。      全书按主题分为六辑:“艺可通道”“观照世间”“得自在禅”“心安之所”“写给时间”“赤子之心”,文字轻盈、意境优雅。林曦以手艺人之道&a…

Java#13(String Builder介绍及其常用办法)

目录 一.String Builder 1.理解:可以将String Builder当作一个容器,创建之后的内容是可以变的 2.作用:可以提高字符串的操作效率 二. StringBuilder中的常用方法 1.public StringBuilder append (任意类型) 添加数据,并返回对象本身 2.public StringBuild…

Keysight是德科技e5063A网络分析仪-安泰测试

Keysight E5063A ENA 是一款经济适用的台式矢量网络分析仪,可用于测试简单的无源元器件,例如频率最高达到 18 GHz 的天线、滤波器、电缆或连接器。 作为业界闻名的 ENA 系列中的一员,它传承了一致的测量框架,以便提高效率和生产率…

大学生静态HTML鲜花网页设计作品 DIV布局网上鲜花介绍网页模板代码 DW花店网站制作成品 web网页制作与实现

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

RabbitMQ初步到精通-第二章-RabbitMQ介绍

第二章 RabbitMQ介绍 1、RabbitMQ简介 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。RabbitMQ最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 rabbit- 兔子,兔子的特点是什么? 轻…

图解https读书笔记

7.确保Web安全的HTTPS 7.2 HTTP 加密 认证 完整性保护 HTTPS https http ssL(Secure socket layer)client: 使用servcer端的publickey对消息加密-----》server:收到消息,用privatekey进行解密参考:彻底搞懂HTTPS的加密原理_峰子2012的博…

VS+QT错误集合

主要是使用VSQT时遇到等一些问题,现在使用等是VS2015(专业版) QT5.13.1 这章主要解决遇到的无法解析等外部符号这类问题 1、LNK2001 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl Process::metaObject…

【分析笔记】Linux 4.9 backlight 子系统分析

相关信息 内核版本:Linux version 4.9.56 驱动文件:lichee\linux-4.9\drivers\video\backlight\backlight.c 驱动作用 对上,面对应用层提供统一的设备节点入口同级,面对驱动层提供设备驱动加载卸载通知事件,以及背光…