Sqoop1 和 Sqoop2 的区别

# 版本上

  Sqoop1: 1.4.x

  Sqoop2: 1.99.x

# 架构上

  Sqoop1 使用 Sqoop客户端直接提交的方式(命令、将命令封装在脚本中)

  Sqoop2 引入了 Sqoop Server,对Connector实现了集中的管理

# 访问方式

  Sqoop1 通过Cli控制台方式进行访问

  Sqoop2 通过 rest api、java api、web ui以及cli控制台方式进行访问

# 安全性

  Sqoop1 在命令或脚本中指定用户数据库名及密码

  Sqoop2 是通过Cli方式访问,在交互过程界面中,输入的密码信息会被看到,同时 Sqoop2 引入了基于角色的安全机制,Sqoop2比Sqoop多了一个Server端。

# 综述

  Sqoop1 架构简单明了,部署即用,使用门槛比较低,但是耦合性强,用户密码暴露不安全。

  Sqoop2 服务端部署,运行,提供 cli、rest api,webui 等入口,connector集中管理,rdbms 账户控制更安全,但是sqoop2仅负责数据的读写操作,架构相对复杂

  

Sqoop1 和 Sqoop2 的架构图

Sqoop1 的配置

解压安装之后,修改配置文件(conf/sqoop-env.sh

#Set path to where bin/hadoop is available
#export HADOOP_COMMON_HOME=

export HADOOP_COMMON_HOME= /data/hadoop/hadoop < /span >

#Set path to where hadoop-*-core.jar is available
#export HADOOP_MAPRED_HOME=

export HADOOP_MAPRED_HOME=$HADOOP_COMMON_HOME /share/hadoop/mapreduce/ < /span >

#set the path to where bin/hbase is available
#export HBASE_HOME=

export HBASE_HOME= /data/hbase/hbase < /span >

#Set the path to where bin/hive is available
#export HIVE_HOME=

export HIVE_HOME= /data/hive/apache-hive < /span >

#Set the path for where zookeper config dir is
#export ZOOCFGDIR=

export ZOOCFGDIR= /data/zookeeper/apache-zookeeper
< /span >

  

Sqoop1 导入(MySQL导入到HDFS)

注意: 需要启动 MySQL、ZK、Hadoop

# demo1:table

# sqoop1 导入命令 mysql=>hdfs
bin /sqoop import
# mysql驱动类
--driver com.mysql.cj.jdbc.Driver< /span >
# 连接字符串
--connect jdbc:mysql: // 192.168.56.1< /span >/dbName< /span >?serverTimezone=GMT%2B8< /span >
# 从哪张表导数据
--table tbName< /span >
# mysql账号 
--username root< /span >
# mysql 密码
--password 123456< /span >
--verbose
# 目标目录(HDFS)
--target- dir = /sqoop/a_users
< /span >

  

# demo2:query

# 导入数据
# --query和--table是互斥的;
bin /sqoop import
--connect jdbc:mysql: // 192.168.56.1< /span >/dbName< /span >?serverTimezone=GMT%2B8< /span >
--username root< /span >
--password 123456< /span >
--verbose
# 获取记录条数
--fetch-size 30< /span >
# SQL 语句
# $CONDITIONS sql语句执行的条件,这个条件由sqoop自己控制
--query  'select * from tbName where $CONDITIONS'
# 按照 id 切分
#--split-by;拆分的这一列不能重复,一般是主键
-- split -by id < /span >  
# 目标目录(HDFS)
--target- dir = /sqoop/a_users
< /span >

  

# demo3:将数据库账号、密码、SQL语句封装到一个文件中

# 新建一个文件;(一行一个,使用#注释);文件名随便写
import
--connect jdbc:mysql: // 192.168.56.1< /span >/dbName< /span >?serverTimezone=GMT%2B8< /span >
--username root< /span >
--password 123456< /span >
--verbose
--fetch-size 30< /span >
--query 'select * from a_users where $CONDITIONS'
-- split -by id < /span >
--target- dir = /sqoop/a_users
< /span >

执行封装了Sqoop命令的文件

bin /sqoop --options- file  /root/fileName .txt
< /span >

  

# demo4:命令过长可以使用反斜杠换行

bin /sqoop import --connect jdbc:mysql: //192 .168.56.1:3306 /dbName ?serverTimezone=GMT%2B8 \< /span >< /strong >
--username root --password 123456 --verbose --fetch-size 30 --query 'select * from tbName where $CONDITIONS' -- split -by id  \< /span >< /strong >
--target- dir = /sqoop/path

  

Sqoop1 导入(MySQL导入到 Hive)

注意:启动Hive

# 配置

  将 $HIVE_HOME/lib 下的 hive-common-x.x.x.jar 拷贝到 $SQOOP_HOME/lib

# fields-terminated-by;列的分隔符

bin /sqoop import --connect jdbc:mysql: //192 .168.56.1 /userscenter ?serverTimezone=GMT%2B8 \
--username root --password 123456 --verbose --fetch-size 30 --query 'select * from a_demo_dynasty where $CONDITIONS' -- split -by id \
--target- dir = /sqoop/a_dynasty \
--fields-terminated-by ',' \
--hive- import \
--hive-table mydata.a_dynasty  --hive-overwrite

  

Sqoop1 全表导入到HDFS

bin /sqoop import -all-tables  --connect jdbc:mysql: //192 .168.56.1:3306 /dbName ?serverTimezone=GMT%2B8 \
--username root --password 123456 --verbose --fetch-size 30 \
--warehouse- dir = /sqoop/a_dynasty

  

Sqoop1的导入导出的更多相关文章

  1. 通过 Sqoop1.4.7 将 Mysql5.7、Hive2.3.4、Hbase1.4.9 之间的数据导入导出

    目录 目录 1.什么是 Sqoop? 2.下载应用程序及配置环境变量 2.1.下载 Sqoop 1.4.7 2.2.设置环境变量 2.3.设置安装所需环境 3.安装 Sqoop 1.4.7 3.1.修 ...

  2. sqoop1的安装以及数据导入导出测试

    下载 wget http://mirror.bit.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 解压 tar -zxf ...

  3. Sqoop_mysql,hive,hdfs导入导出操作

    前言: 搭建环境,这里使用cdh版hadoop+hive+sqoop+mysql 下载 hadoop-2.5.0-cdh5.3.6.tar.gz hive-0.13.1-cdh5.3.6.tar.gz ...

  4. Sqoop -- 用于Hadoop与关系数据库间数据导入导出工作的工具

    Sqoop是一款开源的工具,主要用于在Hadoop相关存储(HDFS.Hive.HBase)与传统关系数据库(MySql.Oracle等)间进行数据传递工作.Sqoop最早是作为Hadoop的一个第三 ...

  5. Sqoop导入导出的几个例子

    Sqoop导入导出的几个例子 http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_importing_data_into_hive   no ...

  6. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  7. sqoop与hbase导入导出数据

    环境:sqoop1.4.6+hadoop2.6+hbase1.1+mysql5.7 说明: 1.文中的导入导出的表结构借鉴了网上的某篇博客 2.mysql导入hbase可以直接通过sqoop进行 3. ...

  8. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  9. ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

    一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...

  10. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

随机推荐

  1. tableau连接不上mysql或不显示mysql表的终极解决方法

    [报错一]连不上mysql An error occurred while communicating with MySQL The connection to the data source mig ...

  2. 【Python】2023年Python期末复习题

    Python百分百挂科指南 出题人,出的题,水平不咋样,给出的参考答案一堆错误,给出的正确选项单词都能拼错. 非本次考试人员不必看,没有参考价值 选择题 下列哪个标识符是不合法的()D A. Name ...

  3. Specifications动态查询

    [前言说明] 针对CRUD种的查询,因为我们的查询总是具有各种各样的筛选条件 为了我们的程序能够更加适应筛选条件的变化,SpringDataJpa提供了Specifications这种解决方案 Spe ...

  4. 最近很新的EasyJailbreak😝 A Unified Framework for Jailbreaking Large Language Models🔅

    整篇文章短小精悍,原文中的链接很有意思~大家去多多尝试哦!

  5. 使用Visual Studio Code进行前端开发并运行前端页面时提示:npm WARN Local package.json exists, but node_modules missing, did you mean to install?

    使用Visual Studio Code进行前端开发并运行前端页面时提示如下错误: npm WARN Local package.json exists, but node_modules missi ...

  6. IDEA中基于SSM框架进行web开发部署项目到Tomcat时报错:Error:Cannot build artifact '******:war exploded' because it is included into a circular depency的解决办法

    在Idea中使用Maven创建父子工程,第一个Model的那个项目可以很好的运行,在创建一个Model运行时报这个错.原因是tomcat部署了多个Web项目,可能最开始是两个项目的配置文件混用用,最后 ...

  7. AI实战营第二期 | 环境配置及安装

    AI实战营第二期 | 环境配置及安装 强烈推荐使用 mim 来管理 OpenMMLab repo OpenMMLab repo 不要 mim 和 pip 混用 OpenMMLab 1.0 和 Open ...

  8. Transformers in Vision

    Transformers in Vision 介绍 最初引入现在著名的Attention is all you need1,Transformer 多年来一直主导着自然语言处理 (NLP) 领域.特别 ...

  9. Solution -「JZOJ #5457」项链

    \(\mathscr{Description}\)   Private link.   给定一条有 \(n\) 个点的圆环和 \(m\) 中颜色, 求在位置旋转, 位置翻转, 颜色旋转等价的意义下, ...

  10. springboot之结合mybatis增删改查解析

    1. 场景描述 本节结合springboot2.springmvc.mybatis.swagger2等,搭建一个完整的增删改查项目,希望通过这个基础项目,能帮忙朋友快速上手springboot2项目. ...