sqoop的介绍以及部署安装(代码片段)

author author     2023-02-24     237

关键词:

1.sqoop的介绍

(1)介绍:

  Sqoop是Apache旗下的一款“hadoop和关系型数据库服务器之间传送数据”的工具。
  导入数据:MySQL、Oracle导入数据到hadoop的hdfs、hive、HBASE等数据存储系统。
   导出数据:从hadoop的文件系统中导出数据到关系型数据库中。

(2)工作机制

技术分享图片
  将导入导出的命令翻译成MapReduce程序来实现,并且MapReduce程序不需要reducetask的。在翻译出的MapReduce中主要针对对 InputFormat 和 OutputFormat 进行定制。

(3)sqoop的导入导出原理

数据导入:
  sqoop工具是通过MapReduce进行导入作业的。总体来说,是把关系型数据库中的某张表的一行行记录写入hdfs中。
技术分享图片
解释
 - sqoop会通过jdbc来获取需要的数据库的元数据信息,例如:导入的表的列名,数据类型。
 - 这些数据库的数据类型会被映射成为java的数据类型,根据这些信息,sqoop会生成一个与表名相同的类用来完成序列化工作,保存表中的每一行记录。
 - sqoop开启MapReduce作业
 - 启动的作业在input的过程中,会通过jdbc读取数据表中的内容,这时,会使用sqoop生成的类进行序列化。
 - 最后将这些记录写到hdfs上,在写入hdfs的过程中,同样会使用sqoop生成的类进行反序列化。
数据导出
技术分享图片
解释
 - 首先sqoop通过jdbc访问关系型数据库,得到需要导出的数据的元数据信息
 - 根据获取的元数据信息,sqoop生成一个java类,用来进行数据的传输载体,该类必须实现序列化。
 - 启动MapReduce程序
 - sqoop利用生成的这个java类,并行的从hdfs中读取数据
 - 每一个map作业都会根据读取到的导出表的元数据信息和读取到的数据,生成一批的insert语句然后多个 map 作业会并行的向数据库 mysql 中插入数据。

总结:数据是从hdfs中并发进行读取,也是并发进行写入,那并行的读取时依赖hdfs的性能,而并行的写入到MySQL,就要依赖MySQL的性能。

2.sqoop的安装

前置要求:已经具备了Java和hadoop的环境。
安装包下载地址:http://ftp.wayne.edu/apache/sqoop/1.4.6/
这里安装的是qoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz(sqoop1.x版本)
具体安装

  • 解压:tar -zxvf sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz -C /applications
  • 修改配置文件:
    #sqoop-env.sh
    [hadoop [email protected] ~]$cd /application/sqoop-1.4.6/conf/
    [hadoop [email protected] ~]$mv sqoop-env-template.sh sqoop-env.sh
    [hadoop [email protected] ~]$vim sqoop-env.sh

    技术分享图片

    export HADOOP_COMMON_HOME=/application/hadoop-2.7.6
    export HADOOP_MAPRED_HOME=/application/hadoop-2.7.6
    export HIVE_HOME=/application/apache-hive-2.3.2-bin
    export ZOOCFGDIR=/application/zookeeper-3.4.10/conf

    注意:这里的HADOOP_COMMON_HOME和HADOOP_MAPRED_HOME配成一个就行了,但是我们现在安装的hadoop的开源的版本:所以这两个在一个目录下就行,但是在hadoop的商业版本中这两个配置是分别安装在不同的目录下的。

  • 将MySQL的驱动包导入sqoop1.4.6/lib 目录下(mysql-connector-java-5.1.40-bin.jar)
  • 配置环境变量
    [hadoop [email protected] ~]$vim /etc/profile
    export SQOOP_HOME=/application/sqoop-1.4.6
    export PATH=$PATH:$ZOOKEEPER_HOME/bin:$SQOOP_HOME/bin
    [hadoop [email protected] ~]$source /etc/profile
  • 验证安装是否成功(sqoop version)
    技术分享图片
    出现以上表示安装成功!!!!

greeplum系列安装部署(代码片段)

Greeplum系列(二)安装部署本章将介绍如何快速安装部署Greenplum,以及Greenplum的一些常用命令及工具。本章不会涉及硬件选型、操作系统参数讲解、机器性能测试等高级内容,这些会在“第8章Greenplum线上环境部署”中介绍。2.1软... 查看详情

hadoop安装mysqlhive以及sqoop(步骤图文超详细版)(代码片段)

还没有搭建Hadoop,欢迎看看我前面的一篇文章:Hadoop集群搭建(步骤图文超详细版)目录一、前置条件二、安装Mysql三、安装Hive四、安装Sqoop一、前置条件需要安装下载方法Hive-1.2.1官网下载链接,提取码:nzyuSqoop-1.4.... 查看详情

hbase安装部署(代码片段)

hbase安装部署在介绍hbase原理和使用之前,先给大家介绍一下hbase的安装部署。预计下期2022-10给大家出关于hbase的原理和命令以及与其他组件的集成应用(重点)1、下载解压下载hbase-x.x.x安装包解压tar-zxvfhbase-x.x.x-C/解压到哪2、配... 查看详情

docker及常用软件的安装部署(代码片段)

...相关命令4.创建与启动容器5.部署应用内容简介本篇文章介绍Docker安装部署和在Docker安装一些常用软件。首先介绍一下什么是Docker摘自百度百科:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包... 查看详情

sqoop安装(代码片段)

...Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。总之Sqoop是一个转换工具,用于在关系型数据库与HDFS之间进行数据转换。 sqoop安装步骤... 查看详情

七,sqoop安装(代码片段)

...安装完毕后,还需要一些坑爹的配置,此处瑾纪录下过程以及遇到过的麻烦:1.下载sqoop并加mysql驱动包http://mirror.bit.edu.cn/apache/sqoop/,下载,如下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz,将mysql(或其他db驱动包)放到Sqoop目录下的lib。如mys... 查看详情

redis的介绍与安装部署(代码片段)

文章目录二、Redis的介绍2.1、简介2.2、Redis的单线程模式2.3、Redis的优点2.4Redis的应用场景三、Redis安装部署①关闭防火墙和安全功能②安装依赖和编译工具③解压并且编译安装④执行并且修改配置文件⑤将redis的可执行程序文件放... 查看详情

redis的介绍与安装部署(代码片段)

文章目录二、Redis的介绍2.1、简介2.2、Redis的单线程模式2.3、Redis的优点2.4Redis的应用场景三、Redis安装部署①关闭防火墙和安全功能②安装依赖和编译工具③解压并且编译安装④执行并且修改配置文件⑤将redis的可执行程序文件放... 查看详情

docker安装部署实战详细手册(代码片段)

文章目录一、docker介绍1.什么是docker2.为什么使用docker二、docker架构三、docker安装1.安装2.卸载结尾一、docker介绍1.什么是dockerDocker是一个开源的容器引擎,它有助于更快地交付应用。Docker可将应用程序和基础设施层隔离,... 查看详情

kafka介绍及安装部署(代码片段)

消息中间件消息中间件特点消息中间件的传递模型Kafka介绍安装部署Kafka集群安装Yahookafkamanagerkafka-manager添加kafkacluster 一、消息中间件消息中间件是在消息的传输过程中保存消息的容器。消息中间件在将消息从消息生产者到... 查看详情

sqoop的安装部署

1):安装JDK环境2):安装Hadoop和Hive客户端环境,如果需要导出到HBase则需要安装HBase客户端3):下载sqoop:命令:wget https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 4):配置sqoop的环境变量 查看详情

tensorflowserving介绍及部署安装(代码片段)

TensorFlowServing是一个用于机器学习模型serving的高性能开源库。它可以将训练好的机器学习模型部署到线上,使用gRPC作为接口接受外部调用。更加让人眼前一亮的是,它支持模型热更新与自动模型版本管理。这意味着一旦部署Tenso... 查看详情

hexo部署以及安装(代码片段)

hexohexo前期安装前期部署更换主题hexo基础使用新建文章小结重要操作参考hexo前期安装安装nodejs安装hexonode-v #查看node版本npm-v #查看npm版本npminstall-gcnpm--registry=http://registry.npm.taobao.org #安装淘宝的cnpm管理器cnpm-v #查看cnpm版本cnpmi... 查看详情

hue框架介绍和安装部署(代码片段)

...我想把学到的东西分享给大家,想和大家一起学习hue框架介绍和安装部署hue全称:HUE=HadoopUserExperience他是cloudera公司提供的一个web框架,和其他大数据框架整合,提供可视化界面hue的架构 1.hueUI:hue提供一个可视化的web界面 2.hue... 查看详情

sqoop的安装(代码片段)

条件 1.启动mysql  servicemysqldstart    2.启动hadoop集群 start-all.sh1.下载jar包(:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/)2.上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha 查看详情

docker的介绍与部署(代码片段)

Docker的介绍与部署一、何为Docker?二、Docker的使用场景三、Docker三大重点四、CentOS下安装Docker1、安装依赖包2、设置阿里云镜像源3、安装和部署Docker服务a、配置阿里云加速3、查看docker信息4、查看docker信息5、镜像操作基础a... 查看详情

sqoop的安装和验证(代码片段)

... Kafka是一个开源的分布式消息订阅系统  一、Sqoop的安装  1.http://www-eu.apache.org/dist/sqoop/1.4.7/下载sqoop-1.4.7.bin__hadoop-2.6 查看详情

sqoop安装及导入sqlserver数据(代码片段)

...用对应的sqljdbc.jar包,这里用到的是sqljdbc4.jar点我下载3.安装sqoop将下载好的压缩包解压到指定安装目录,如/opttar-zxvfsqoop-1.4.7_hadoop 查看详情