广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Sqoop的安装与使用详细教程
  • 316
分享到

Sqoop的安装与使用详细教程

2024-04-02 19:04:59 316人浏览 薄情痞子
摘要

目录一、Sqoop的安装1.1 下载上传安装包1.2 修改配置文件1.3 拷贝JDBC驱动二、Sqoop的导入导出2.1 测试连接数据库2.2 Mysql导入数据到hdfs2.3 m

本文我们介绍一个非常好用的数据传输工具——Sqoop。Sqoop是一款开源的工具,主要用于在hadoop与传统数据库间进行数据的传递,可以将一个关系型数据库(例如:MySQL,oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。关注专栏《破茧成蝶——大数据篇》,查看更多相关的内容~

一、Sqoop的安装

1.1 下载上传安装包

1、首先下载安装包,点击此处进行下载。

2、将下载的安装包上传到集群中,解压到相关目录并重命名。


tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C ../modules/

mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

1.2 修改配置文件

1、首先重命名sqoop-env-template.sh文件


[root@master conf]# mv sqoop-env-template.sh sqoop-env.sh

2、在sqoop-env.sh中添加各组件的路径


export HADOOP_COMMON_HOME=/opt/modules/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/modules/hadoop-2.7.2
export HIVE_HOME=/opt/modules/hive
export ZooKeeper_HOME=/opt/modules/zookeeper-3.4.10
export ZOOCFGDIR=/opt/modules/zookeeper-3.4.10
export HBASE_HOME=/opt/modules/hbase

1.3 拷贝JDBC驱动

拷贝MySQL的驱动包到Sqoop的lib目录下:


[root@master software]# cp ./mysql-connector-java-5.1.47.jar /opt/modules/sqoop/lib/

1.4 验证Sqoop是否安装成功


bin/sqoop help

出现上图的内容说明安装成功。

二、Sqoop的导入导出

2.1 测试连接数据库


bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --passWord p@ssw0rd

2.2 MySQL导入数据到HDFS

1、首先在MySQL数据库(xzw)中新建一张people表,如下所示:


create table people(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
insert into people(name, sex) values('xzw', 'Male');
insert into people(name, sex) values('fq', 'FeMale');

2、全量导入


bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by ","

使用如下命令查看导入的结果:

3、查询导入


bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--query 'select name,sex from people where id <=1 and $CONDITioNS;'

查看导入结果:

这里需要注意的是,如果query后使用的是双引号,则$CONDITIONS前必须加转义符\,防止shell识别为自己的变量。如果使用的是单引号,则不需要加。

4、导入指定列


bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--columns id,sex \
--table people

查看结果:

这里需要注意的是,columns中如果涉及到多列,用逗号分隔,分隔时不要添加空格。

5、使用sqoop关键字筛选查询导入数据


bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--table people \
--where "id=1"

查看结果:

2.3 MySQL导入数据到Hive


bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "," \
--hive-overwrite \
--hive-table hive_people

该过程分为两步,第一步将数据导入到HDFS,第二步将导入到HDFS的数据迁移到Hive仓库。这里需要注意的是,Hive中的表不需要提前创建,Sqoop会在导数据的过程中自动创建表。

2.4 MySQL导入数据到HBase


bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--columns "id,name,sex" \
--column-family "info" \
--hbase-create-table \
--hbase-row-key "id" \
--hbase-table "hbase_people" \
--num-mappers 1 \
--split-by id

这里需要注意的是,需要提前将HBase表建好:


create 'hbase_people','info'

2.5 HDFS导出数据到MySQL


bin/sqoop export \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--num-mappers 1 \
--export-dir /user/sqoop/people \
--input-fields-terminated-by ","

这里需要注意的是,如果MySQL中不存在表,不会自动创建,简言之就是在执行导出之前需要在MySQL中创建好表。

三、Sqoop脚本打包

我们使用opt格式的文件打包Sqoop命令,然后执行,具体如下。

首先在Sqoop的安装目录新建目录opt,并编写脚本如下:


export
--connect
jdbc:mysql://master:3306/xzw
--username
root
--password
p@ssw0rd
--table
people
--num-mappers
1
--export-dir
/user/sqoop/people
--input-fields-terminated-by
","

然后使用如下命令执行脚本:


bin/sqoop --options-file opt/HDFSToMySQL.opt

到此这篇关于Sqoop的安装与使用详细教程的文章就介绍到这了,更多相关Sqoop安装与使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

到此这篇关于Sqoop的安装与使用详细教程的文章就介绍到这了,更多相关Sqoop安装与使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Sqoop的安装与使用详细教程

本文链接: https://www.lsjlt.com/news/123373.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Sqoop的安装与使用详细教程
    目录一、Sqoop的安装1.1 下载上传安装包1.2 修改配置文件1.3 拷贝JDBC驱动二、Sqoop的导入导出2.1 测试连接数据库2.2 MySQL导入数据到HDFS2.3 M...
    99+
    2022-11-12
  • TypeScript安装与使用的详细教程
    目录初识TypeScriptTypeScript给JS添加类型支持的原因TypeScript相比JS的优势TS工具包的安装TS文件的编译和运行简化TS的运行步骤附:查看ts版本、安装...
    99+
    2023-01-10
    ts安装 ts教程 typescript教程
  • sqoop 安装与使用
    Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可...
    99+
    2020-02-07
    sqoop 安装与使用
  • ReSharper 的安装使用详细教程
    Reshaper是什么 即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行...
    99+
    2022-11-12
  • MySQL的安装与配置—详细教程
    MySQL的安装与配置——详细教程 一、MySQL简介 MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其...
    99+
    2023-10-27
    mysql 数据库 服务器
  • MySQL8.0.26的安装与配置——详细教程
    网上的教程有很多,基本上大同小异。 但是安装软件有时就可能因为一个细节安装失败。 我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的。 一、Mysql下载安装包 https://dev.mysql.com/downloads...
    99+
    2015-11-21
    MySQL8.0.26的安装与配置——详细教程
  • MySQL的安装与配置详细教程
    目录免安装版的Mysql一、下载安装包:二、Mysql的配置2.1可能会出现的问题2.2命令参考:免安装版的Mysql   MySQL是一种关系数据库管理系统,所使用的 SQL 语言...
    99+
    2022-11-12
  • Tomcat安装与配置(详细教程)
    Tomcat是一个开源的Java Servlet容器,用于将Java代码转换为可以在Web服务器上运行的网页。以下是Tomcat的安...
    99+
    2023-09-13
    Tomcat
  • CUDA与cuDNN安装教程(超详细)
    前言 windows10 和win11安装 CUDA ,首先需要下载两个安装包 CUDA toolkit(toolkit就是指工具包) cuDNN 用于配置深度学习使用 官方教程 CUDA:Installation Guide Window...
    99+
    2023-08-31
    python 深度学习
  • Tomcat安装与配置(详细教程)
    一、安装Tomcat服务器 下载地址(Tomcat官网)http://tomcat.apache.org/ 将下载的zip文件解压到指定的目录(例如:D盘,目录不要有中文)    D:\apache-tomcat-9.0.43 二、配置T...
    99+
    2023-08-31
    tomcat 服务器 java eclipse
  • Python pip超详细教程之pip的安装与使用
    安装pip:1. 在命令行中输入以下命令,查看是否已经安装了pip:```pip```如果提示找不到pip命令,说明还没有安装pip...
    99+
    2023-08-14
    Python
  • Python pip超详细教程之pip的安装与使用
    目录1. pip的安装与卸载1.1 pip的安装1.2 pip的卸载2. pip的使用2.1 帮助信息2.2 查看pip版本2.3 更新pip版本2.4 安装库2.5 查看库2.6 ...
    99+
    2022-11-11
  • 使用Docker安装SonarQube的详细教程
    目录1.拉取镜像1.1拉取相关镜像并运行1.1.1拉取相关镜像1.1.2运行镜像1.2保存并提交已修改的镜像2.安装成功3.插件安装3.1安装Chinese插件4.docker安装g...
    99+
    2022-11-12
  • python安装教程 Pycharm安装详细教程
    python安装教程和Pycharm安装详细教程,分享给大家。 首先我们来安装python 1、首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads...
    99+
    2022-06-04
    教程 详细 python
  • MySQL的安装与配置——2023详细教程
    MySQL的安装与配置——详细教程 免安装版的MySQL1.下载安装包2.Mysql的配置2.1 安装mysql的服务2.2 开启mysql的服务2.3 修改密码2.4 设置系统的全局变量2.5 命令参考 免安装版的MySQ...
    99+
    2023-08-21
    mysql 数据库 java
  • 使用Anaconda安装TensorFlow详细教程
    一、Anaconda安装 可以参考笔者的这篇博客:Anaconda安装详细教程 二、准备工作 1、单击启动Anaconda Prompt创建新虚拟环境 2、在Anaconda Prompt依次执行以...
    99+
    2023-09-04
    tensorflow python anaconda 深度学习 安装教程
  • TortoiseSVN安装使用教程(超详细)
    TortoiseSVN:(俗称小乌龟)Subversion版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目 录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以 将文件恢复到过去...
    99+
    2023-08-20
    服务器 linux apache TortoiseSVN
  • JDK1.8安装与配置超详细教程
    目录一、JDK下载二、配置Java环境变量在此附上超详细Windows 10卸载JDK1.8教程 超详细Windows 10卸载JDK1.8教程 JDK1.8即为JDK8,JDK8是...
    99+
    2023-03-21
    JDK1.8安装与配置 JDK1.8安装
  • 安装Kubernetes的详细教程
    这篇文章主要介绍“安装Kubernetes的详细教程”,在日常操作中,相信很多人在安装Kubernetes的详细教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”安装Kubernetes的详细教程”的疑惑有所...
    99+
    2023-06-04
  • MySQL的安装(详细教程)
    文章目录 前言一、概述二、下载三、安装四、卸载五、可能遇到的问题 前言 本文的主要目的是在 Windwos 上安装 MySQL,以下内容是源于 B站 - MySQL数据库入门到精通 整理而来。 如果想要在 Linux 下安装 ...
    99+
    2023-08-16
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作