sqoop的安装与简单使用

news2024/11/15 10:20:23

文章目录

  • 一、安装
    • 1、上传,解压,重命名
    • 2、修改环境变量
    • 3、修改配置文件
    • 4、上传驱动包
    • 5、拷贝jar包
  • 二、import命令
    • 1、将mysql的数据导入到hdfs上
    • 2、将mysql的数据导入到hive上
    • 3、增量导入数据
  • 三、export命令
    • 1、从hdfs导出到mysql中
    • 2、从hive导出到mysql中
    • 四、sqoop的job任务


在这里插入图片描述

一、安装

1、上传,解压,重命名

sqoop下载地址
提起码:1234

cd /opt/modules
# 上传
# 解压
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/installs
# 重命名
mv /opt/modules/sqoop-1.4.7.bin__hadoop-2.6.0 /opt/modules/sqoop

2、修改环境变量

export SQOOP_HOME=/opt/installs/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

3、修改配置文件

# 重命名配置文件
mv sqoop-env-template.sh sqoop-env.sh

#添加如下配置:
export HADOOP_COMMON_HOME=/opt/installs/hadoop
export HADOOP_MAPRED_HOME=/opt/installs/hadoop
export HIVE_HOME=/opt/installs/hive
export HCAT_HOME=/opt/installs/hive/hcatalog

4、上传驱动包

将mysql8.0的驱动包放入 sqoop 的 lib 目录下

5、拷贝jar包

cp /opt/installs/hive/lib/commons-lang-2.6.jar /opt/installs/sqoop/lib/
cp /opt/installs/hive/lib/hive-common-3.1.2.jar /opt/installs/sqoop/lib/

二、import命令

1、将mysql的数据导入到hdfs上

sqoop import  \
  --connect jdbc:mysql://node01:3306/数据库的名字  \
  --username root  \
  --password 123456 \
  --table emp \  # 有query 不用指定
  --target-dir /hdfs上的路径  \
  --delete-target-dir  \  #如果hdfs上存在该文件夹就删除
  --query 'select * from emp where empno < 7788 and $CONDITIONS'  \  # sqoop也支持sql语句
  --split-by empno  
  -m 1  

有query的时候sql语句中必须有$CONDITIONS、后面参数必须有split-by或者-m 1

2、将mysql的数据导入到hive上

sqoop import \
  --connect jdbc:mysql://node01:3306/数据库的名字 \
  --username root \
  --password 123456 \
  --table emp \
  --hive-import \
  --hive-overwrite \
  --hive-table emp \
  --hive-database hive数据库的名字  \
  -m 1

3、增量导入数据

两种方式:
1、sql语句加where条件
2、last-value

  sqoop import \
  --connect jdbc:mysql://node01:3306/数据库的名字\
  --username root \
  --password 123456 \
  --table emp \
  --target-dir /sqoop/dt=20240903 \
  -m 1 \
  --check-column empno \  # 必须写,指定检出的列
  --incremental append \  # 增量
  --last-value 0 \
  --fields-terminated-by '\t'  #指定导入数据的分隔符

三、export命令

1、从hdfs导出到mysql中

mysql中的表需要提前创建出来

  sqoop export \
  --connect jdbc:mysql://node01:3306/mydb01 \
  --username root \
  --password 123456 \
  --table user \
  --export-dir '/sqoop/aaa.txt' \
  --input-fields-terminated-by ',' \
  --columns 'id,age'  \  # 指定mysql中的列,要与hdfs文件内容对应
  -m 1

2、从hive导出到mysql中

sqoop export \
--connect jdbc:mysql://node01:3306/mydb01 \
--username root \
--password 123456 \
--table user \  # mysql的表
--hcatalog-database mydb01 \  # hive的数据库
--hcatalog-table par3 \  #hive的表
-m 1

四、sqoop的job任务

sqoop job --create jjoobb --sqoop import \
# 编写import代码

sqoop job --exec jjoobb
# 执行job任务

sqoop job --delete jjoobb
# 删除job任务

sqoop job --list
# 查看所有的job任务

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

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

相关文章

【JPCS出版】第二届应用统计、建模与先进算法国际学术会议(ASMA2024,9月27日-29)

第二届应用统计、建模与先进算法国际学术会议 2024 2nd International Conference on Applied Statistics, Modeling and Advanced Algorithms&#xff08;ASMA2024&#xff09; 会议官方 会议官网&#xff1a;www.icasma.org 2024 2nd International Conference on Applied …

第四届计算机、信息工程与电子材料国际学术会议 (CTIEEM 2024)

目录 重要信息 大会简介 出版信息 大会组委 会议征稿主题 会议议程 参会须知 重要信息 大会时间&#xff1a;2024年11月15-17日 大会地点&#xff1a;中国-郑州 大会官网&#xff1a;www.ctieem.org 收录检索&#xff1a;EI Compendex&#xff0c;Scopus 大会简介 随着信…

XXL-JOB 漏洞大全

一、前言 在当今的数字化时代&#xff0c;任务调度平台对于企业级应用来说至关重要。它们负责自动化和协调各种时间敏感或周期性的任务&#xff0c;确保业务流程的顺畅运行。XXL-JOB作为一款流行的分布式任务调度平台&#xff0c;因其强大的功能和易用性&#xff0c;被广泛部署…

【4.3】图搜索算法-DFS和BFS解被围绕的区域

一、题目 给定一个二维的矩阵&#xff0c;包含 X 和 O &#xff08; 字母 O &#xff09;。 找到所有被 X 围绕的区域&#xff0c;并将这些区域里所有的 O 用 X 填充。 示例 : X X X X X O O X X X O X X O X X 运行你的函数后&#xff0c;矩阵变为…

uniapp H5 打开地图 并选中标记点

uniapp H5 打开地图 并选中标记点 先上代码 //打开地图 显示景区位置openMap() {// 支付宝// #ifdef MP-ALIPAYmy.openLocation({longitude: Number(this.detailObj.longitude), // 经度latitude: Number(this.detailObj.latitude), // 纬度name: this.detailObj.scenicName, …

C++速通LeetCode中等第10题-轮转数组(四种方法)

方法一&#xff1a;巧用deque双向队列容器 class Solution { public:void rotate(vector<int>& nums, int k) {deque<int> q;int tmp;if(nums.size() > 1){for(auto num:nums) q.push_back(num);for(int i 0;i < k;i){tmp q.back();q.pop_back();q.pu…

dgl库安装

此篇文章继续上一篇pytorch已经安装成功的情况 &#xff08;python3.9&#xff0c;pytorch2.2.2&#xff0c;cuda11.8&#xff09; 上一篇pytorch安装教学链接 选择与之匹配的版本 输入下方代码进行测试 import dgl.data dataset dgl.data.CoraGraphDataset() print(‘Numb…

24 小时不关机的挂机云电脑,还能这么玩?

云电脑技术为我们提供了无限可能。特别是对于游戏爱好者&#xff0c;挂机云电脑不仅解决了传统电脑的局限性&#xff0c;还带来了更为便利的游戏体验。除此之外云电脑还有什么其他玩法呢&#xff1f; 01 挂机云电脑的优势 首先要知道&#xff0c;什么是挂机云电脑&#xff1f…

局域网变压器市场价值

2024 年全球局域网变压器市场价值为 3.056 亿美元&#xff0c;预计到 2030 年将达到 4.426 亿美元&#xff0c;2024-2030 年的复合年增长率为 5.4%。 局域网变压器市场包括用于改变电信号电压或格式的产品&#xff0c;以改善和简化局域网 (LAN) 上的数据传输。这些变压器对于保…

【JavaScript】数据结构之链表(双指针、滑动窗口)

什么是链表&#xff1f; 多个元素存储的列表链表中的元素在内存中不是顺序存储的&#xff0c;而是通过“next”指针联系在一起的&#xff0c;这个“next”可以自定义。JS中的原型链原理就是链表结构&#xff0c;是通过__proto__指针联系在一起的。 双指针形式 对撞指针&am…

分布式事务一致性:本地消息表设计与实践

概念 本地消息表是一种常见的解决分布式事务问题的方法。其核心思想是将分布式事务拆分成本地事务来处理&#xff0c;通过消息队列来保证各个本地事务的最终一致性。 实现步骤 创建本地消息表&#xff1a;在数据库中创建一个本地消息表&#xff0c;用于存储待发送的消息以及消…

【图像检索】基于灰度共生矩的纹理图像检索,matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于灰度共生矩的纹理图像检索&#xff0c;用matlab实现。 一、案例背景和算法介绍 …

从“群聊”到“一单到底”,天润融通工单系统助力品牌服务升级

“您好&#xff0c;我在xx店买的酸奶出现了质量问题&#xff0c;怎么处理&#xff1f;” “你们xx门店的服务态度怎么那么差啊&#xff0c;我要投诉&#xff01;” “您好&#xff0c;xx店的微波炉总是坏的&#xff0c;店员根本不管&#xff01;” 这些耳熟能详的抱怨&#…

【qt】一个WPS项目了解qt界面设计的基本套路

项目功能演示: 放心食用!最后有完整代码. 超级详细,期待您的一个点赞❥(^_-) 一览全局: WPS项目目录 一.创建项目二.导入资源三.ui设计四.字号选择框初始化五.滚动条初始化六.添加自定义文本类七.初始化action状态八.新建文档九.打开文件十.保存与另存为十一.打印/打印预览十…

MySQL高阶1867-最大数量高于平均水平的订单

目录 题目 准备数据 分析数据 题目 您正在运行一个电子商务网站&#xff0c;该网站正在寻找不平衡的订单。不平衡订单的订单最大数量严格大于每个订单&#xff08;包括订单本身&#xff09;的平均数量。 订单的平均数量计算为&#xff08;订单中所有产品的总数量&#xff…

visionpro脚本

visionproToolBlock的脚本的优先级优于工具连线的优先级&#xff0c;一般是照着脚本的执行顺序进行执行对应的工具&#xff0c;最常用的是C#的高级脚本&#xff0c;C#的脚本如下分为5部分。 第一部分&#xff1a;主要是一些库的引用&#xff0c;对于有些类型不知道库的时候&…

14_Python面向对象

面向过程与面向对象 在编程范式&#xff08;programming paradigms&#xff09;中&#xff0c;面向过程&#xff08;Procedural Programming&#xff09;和面向对象&#xff08;Object-Oriented Programming&#xff0c;简称OOP&#xff09;是两种主要的编程风格。 Python是一…

【医学半监督】置信度指导遮蔽学习的半监督医学图像分割

摘要: 半监督学习(Semi-supervised learning)旨在利用少数标记数据和多数未标记数据训练出高性能模型。现有方法大多采用预测任务机制,在一致性或伪标签的约束下获得精确的分割图,但该机制通常无法克服确认偏差。针对这一问题,本文提出了一种用于半监督医学图像分割的新…

(十六)Ubuntu 20.04 下搭建PX4+MATLAB 仿真环境(HITL)

在文章&#xff08;十五&#xff09;Ubuntu 20.04 下搭建PX4MATLAB 仿真环境我们学习了如何配置仿真环境&#xff0c;在本节&#xff0c;主要进行HITL的仿真环境搭建。 根据&#xff08;十五&#xff09;Ubuntu 20.04 下搭建PX4MATLAB 仿真环境完成配置到如下界面&#xff1a;…

志邦家居CIO吴俊涛谈转型:天润融通如何赋能家居行业未来

根据国家统计局、住建部等各部门综合数据显示&#xff0c;2024年国内泛家居全渠道销售额在预计将超过4.7万亿元&#xff0c;并且在存量房需求释放与智能家居品类创新的推动下&#xff0c;预计2027年将突破5.3万亿元&#xff0c;展现出强劲的增长弹性。 然而&#xff0c;家居行…