【大数据技术】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余人参加的技术沙龙发展到当下数千人的技术盛宴,目前已成为国内最具影响力.规模最 ...
随机推荐
- [转]Rabbitmq的使用及Web监控工具使用
本文转自:https://blog.csdn.net/xingxing513234072/article/details/51014850 一.文档资料 1.官方网站:http://ww ...
- 33.QT-UTF8,GBK互转
首先需要用到QString的静态成员函数来获取字符数组: QByteArray QString::toLocal8Bit () ; //获取字节数组对象 char * QByteArray::data ...
- crontab命令行和日志查看
1.基本命令行模式 注意:非root用户 systemctl restart crond 失效,请使用最底层的驱动重启 2.crontab日志 cron日志保存在系统目录/var/log/cron 命 ...
- JavaScript解析机制与闭包原理实例详解
js代码解析机制: js代码解析之前会创建一个如下的词法环境对象(仓库):LexicalEnvironment{ } 在扫描js代码时会把: 1.用声明的方式创建的函数的名字; 2.用var定义的变量 ...
- css控制文字自动换行
自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺让人头疼,下面介绍的是CSS如何实现换 行的方法 对于div,p等块级元素正常文字的换行(亚洲文字和非亚洲文字)元素拥 ...
- 二进制安装 kubernetes 1.12(一) - 安装 ETCD
软件环境 软件 版本 操作系统 CentOS 7.4 Docker 18-ce Kubernetes 1.12 服务器角色 角色 IP 组件 k8s-master 192.168.0.205 kube ...
- es6 语法 (数组扩展)
{ let arr = Array.of(3, 4, 7, 9, 11); console.log('arr', arr); //[3,4,7,9,11] let empty = Array.of() ...
- java方法中,传参是传值还是传址问题(对比C语言、C#和C++)
问题引出: 编写一个简单的交换值的小程序,如果我们只是简单地定义一个交换函数接收两个数,在函数内部定义一个中间变量完成交换.那么当我们把a,b两个实参传给这个函数时,往往得不到预期的结果.这是为什么呢 ...
- Android P的APP适配总结,让你快人一步
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ音乐技术团队发表于云+社区专栏 上篇:Android P 行为变更适配 Android P 这次有很多行为变更,其中不乏一些需要亟 ...
- .net webapi 后台导出excel 申请付款单实例
[HttpGet, AllowAnonymous] public void ExportSettlementPrint(string code) { FinSettlementModel settle ...