【大数据技术】Sqoop
Sqoop:SQL-to-Hadoop,传统数据库与Hadoop间数据同步工具。(MySQL、Oracle <==> HDFS、HBase、Hive)
Sqoop 的核心设计思想是利用 MapReduce 分布式批处理,加快了数据传输速度,保证了容错性。也就是说 Sqoop 的导入和导出功能是通过 MapReduce 作业实现的。


(1)sqoop2优势:
在架构上,sqoop2引入了sqoop server(具体服务器为tomcat),对connector实现了集中的管理。访问方式也变得多样化了,其可以通过REST API、JAVA API、WEB UI以及CLI控制台方式进行访问。
sqoop2的部署相比于sqoop1复杂的多。
sqoop2不兼容sqoop1,sqoop1中的import和export脚本实现的功能用JAVA API去重新编写。
(1)sqoop import原理:
从传统数据库获取元数据信息(schema、table、field、field type),把导入功能转换为只有Map的Mapreduce作业,在mapreduce中有很多map,每个map读一片数据,进而并行的完成数据的拷贝。
- 在导入前,Sqoop使用JDBC来检查将要导入的数据表。
- Sqoop检索出表中所有的列以及列的SQL数据类型。
- 把这些SQL类型的映射到java数据类型,例如(VARCHAR、INTEGER)———>(String,Integer)。
- 在MapReduce应用中将使用这些对应的java类型来保存字段的值。
- Sqoop的代码生成器使用这些信息来创建对应表的类,用于保存从表中抽取的记录。
(2)sqoop export原理:
获取导出表的schema、meta信息,和Hadoop中的字段match;多个map only作业同时运行,完成hdfs中数据导出到关系型数据库中。
- 在导出前,sqoop会根据数据库连接字符串来选择一个导出方法 ————>对于大部分系统来说,sqoop会选择JDBC。
- Sqoop会根据目标表的定义生成一个java类。
- 这个生成的类能够从文本中解析出记录,并能够向表中插入类型合适的值(除了能够读取ResultSet中的列)。
- 然后启动一个MapReduce作业,从HDFS中读取源数据文件。
- 使用生成的类解析出记录,并且执行选定的导出方法。
【大数据技术】Sqoop的更多相关文章
- 大数据技术之Sqoop
大数据技术之Sqoop 一.Sqoop简介 Apache Sqoop(TM)是一种旨在有效地在Apache Hadoop和诸如关系数据库等结构化数据存储之间传输大量数据的工具. Sqoop于2012 ...
- 从大数据技术变迁猜一猜AI人工智能的发展
目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而A ...
- 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)
1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...
- 大数据技术之Hadoop入门
第1章 大数据概论 1.1 大数据概念 大数据概念如图2-1 所示. 图2-1 大数据概念 1.2 大数据特点(4V) 大数据特点如图2-2,2-3,2-4,2-5所示 图2-2 大数据特点之大量 ...
- 除Hadoop大数据技术外,还需了解的九大技术
除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow ...
- 参加2013中国大数据技术大会(BDTC2013)
2013年12月5日-6日参加了为期两天的2013中国大数据技术大会(Big Data Technology Conference, BDTC2013),本期会议主题是:“应用驱动的架构与技术 ”.大 ...
- 大数据技术人年度盛事! BDTC 2016将于12月8-10日在京举行
2016年12月8日-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所和CSDN共同协办的2016中国大数据技术大会(Big Data Technology ...
- 大数据技术 vs 数据库一体机[转]
http://blog.sina.com.cn/s/blog_7ca5799101013dtb.html 目前,虽然大数据与数据库一体机都很火热,但相当一部分人却无法对深入了解这两者的本质区别.这里便 ...
- 超人学院Hadoop大数据技术资源分享
超人学院Hadoop大数据技术资源分享 http://bbs.superwu.cn/forum.php?mod=viewthread&tid=807&fromuid=645 很多其它精 ...
- 2016中国大数据技术大会( BDTC ) 共商大数据时代发展之计
中国大数据技术大会(BDTC)的前身是Hadoop中国云计算大会(HadoopinChina,HiC).从2008年仅60余人参加的技术沙龙发展到当下数千人的技术盛宴,目前已成为国内最具影响力.规模最 ...
随机推荐
- 第一册:lesson sixty seven。
原文: The weekend. A:Hello , were you an tht butcher's? B:Yes I was. A:Were you at the butcher's too? ...
- mysql分页存储过程一步一步实现
1. CREATE DEFINER=`root`@`localhost` PROCEDURE `P_HoverTreePages`( ), ) , ), ), ), IN `SortType` INT ...
- AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher
報錯: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML ...
- js的数据类型:单例模式,工厂模式,构造函数
js数据类型 基本数据类型:string undefined null boolean number 引用数据类型 Object array function 二者的区别 基本数据类 ...
- idea代码提示,不区分大小写
idea代码提示,不区分大小写:File-->Settings-->Editor-->General-->Code Completion-->Case sensitive ...
- 使用laravel框架开发接口时ajax post请求报错419
nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...
- Android文件的流操作工具类
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import j ...
- CSS之IE浏览器的hasLayout,IE低版本的bug根源
什么是hasLayout? hasLayout是IE特有的一个属性.很多的ie下的css bug都与其息息相关.在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组 ...
- bootstrap源码之滚动监听组件scrollspy.js详解
其实滚动监听使用的情况还是很多的,比如导航居于右侧,当主题内容滚动某一块的时候,右侧导航对应的要高亮. 实现功能 1.当滚动区域内设置的hashkey距离顶点到有效位置时,就关联设置其导航上的指定项 ...
- python实现简单的计算器功能
如想实现一个计算器的功能,输入格式为字符串,不能运用python里面的内置方法,出去简单的加减乘除,设计一个相对高级的计算器: a = '1 - 2 * ( ( 6 0 -3 0 +(-40/5) * ...