Sqoop学习

栏目: 数据库 · 发布时间: 5年前

内容简介:Sqoop主要通过JDBC和关系数据库进行交互。理论上支持JDBC的Database都可以使用Sqoop和HDFS进行数据交互。Sqoop有两个版本,他们之间的差异见下表:
Sqoop学习

Sqoop用来在关系型数据库与HDFS(Hive、HBase)之间导入和导出数据,其既可以作为ETL抽数据到DW的工具,又可以作为对DM处理好的数据导出到业务数据库的工具,其地位如下图所示:

Sqoop学习

Sqoop学习

Sqoop主要通过JDBC和关系数据库进行交互。理论上支持JDBC的Database都可以使用Sqoop和HDFS进行数据交互。

原理

Sqoop有两个版本,他们之间的差异见下表:

Sqoop学习

我们这里重点将下Sqoop2的架构

Sqoop学习

导入到HDFS

  1. 在导入前,Sqoop使用JDBC来检查将要导入的数据表;
  2. Sqoop检索出表中所有的列以及列的 SQL 数据类型;
  3. 把这些SQL类型的映射到 java 数据类型,例如(VARCHAR、INTEGER)->(String,Integer);
  4. 在MapReduce应用中将使用这些对应的java类型来保存字段的值;
  5. Sqoop的代码生成器使用这些信息来创建对应表的类,用于保存从表中抽取的记录。

导出到JDBC

  1. 在导出前,sqoop会根据数据库连接字符串来选择一个导出方法(对于大部分系统来说,sqoop会选择JDBC);
  2. Sqoop会根据目标表的定义生成一个java类;
  3. 这个生成的类能够从文本中解析出记录,并能够向表中插入类型合适的值(除了能够读取ResultSet中的列);
  4. 然后启动一个MapReduce作业,从HDFS中读取源数据文件;
  5. 使用生成的类解析出记录,并且执行选定的导出方法。

实践时间

MySQL 数据库的表dept导入HDFS

sqoop import --connect jdbc:mysql://10.10.75.100:3306/sqoopdemo -- username root --password root123 - table dept -m 1 -target-dir /user/dept

将数据从HDFS导出到MySQL数据库的表dept

sqoop export --connect jdbc :mysql://10.10.75.100:3306/sqoopdemo --username root --password root123 --table dept -m 1 --export-dir /user/dept 

# Mysql->hive
sqoop import --connect jdbc:mysql://10.10.75.100:3306/sqoopdemo --username root --password root123 --table dept -m 1 --hive-import

# Hive->mysql
sqoop export --connect jdbc:mysql://10.10.75.100:3306/sqoopdemo --username root --password root123 -table dept -m 1 --export-dir /user/hive/warehouse/dept --input-fields-terminated-by '\0001'

# Mysql->hbase
sqoop import --connect jdbc:mysql://10.10.75.100:3306/sqoopdemo --username root --password rootl23 --table dept 一-hbase-create-table --hbase- table hbase dept --column-family colfamily --hbase-row-key id

更多操作方面的内容可以参考这篇 Sqoop架构以及应用介绍


以上所述就是小编给大家介绍的《Sqoop学习》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

亚马逊跨境电商运营宝典

亚马逊跨境电商运营宝典

老魏 / 电子工业出版社 / 2018-6 / 69

《亚马逊跨境电商运营宝典》详细讲解亚马逊的平台知识和运营技巧,内容围绕亚马逊卖家的日常工作,系统讲解亚马逊账号注册、后台操作、选品、产品发布、Listing 优化、站内广告、FBA 发货、VAT 税务等内容,并且通过大量的案例分析,用生动翔实的案例为读者传递运营中必备的操作技巧和运营方法。 《亚马逊跨境电商运营宝典》内容针对性强,讲解的知识、技巧和方法都充分考虑到易学、易懂、易操作、易落地执......一起来看看 《亚马逊跨境电商运营宝典》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码