Sqoop的安装和配置以及Sqoop的基本操作

Easter79
• 阅读 758

一、概述

Sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。

导入数据:把MySQL,Oracle数据导入到Hadoop的HDFS、HIVE、HBASE等数据存储系统;

导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等

Sqoop的安装和配置以及Sqoop的基本操作

sqoop1sqoop2架构对比

sqoop1架构:

Sqoop的安装和配置以及Sqoop的基本操作

sqoop2架构:

Sqoop的安装和配置以及Sqoop的基本操作

、****Sqoop****工作机制

将导入或导出命令翻译成mapreduce程序来实现

在翻译出的mapreduce中主要是对inputformat和outputformat进行定制

、**Sqoop的安装配置******

安装sqoop的前提是已经具备java和hadoop的环境

1、下载并解压

下载地址

http://archive.cloudera.com/cdh5/cdh/5/

      sqoop1版本详细下载地址

http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.14.0.tar.gz

    sqoop2版本详细下载地址

http://archive.cloudera.com/cdh5/cdh/5/sqoop2-1.99.5-cdh5.14.0.tar.gz

我们这里使用sqoop1的版本,下载之后上传到/export/softwares目录下,然后进行解压

  #cd /export/softwares
  #tar -zxvf sqoop-1.4.6-cdh5.14.0.tar.gz -C ../servers/

  Sqoop的安装和配置以及Sqoop的基本操作

2、修改配置文件

  #cd /export/servers/sqoop-1.4.6-cdh5.14.0/conf/
  #cp sqoop-env-template.sh  sqoop-env.sh

  Sqoop的安装和配置以及Sqoop的基本操作

  #vim sqoop-env.sh
  export HADOOP_COMMON_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
  export HADOOP_MAPRED_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
  export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0

  Sqoop的安装和配置以及Sqoop的基本操作

3、加入额外****的依赖包

  sqoop的使用需要添加三个额外的依赖包,mysql的驱动包,oracle的驱动包,java-json依赖包,不然就会报错

   mysql-connector-java-5.1.40.jar

   ojdbc8.jar

   java-json.jar

  Sqoop的安装和配置以及Sqoop的基本操作

4、验证启动

# cd /export/servers/sqoop-1.4.6-cdh5.14.0
# bin/sqoop-version

  Sqoop的安装和配置以及Sqoop的基本操作

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
Django之Django模板
1、问:html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2012082616:00:00,但是页面显示的却是Aug.26,2012,4p.m.答:为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td{{dayrecord.p\_time|date:
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k