范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

大数据平台数据采集和集成技术和工具整理

  今天谈下大数据平台构建中的数据采集和集成。在最早谈BI或MDM系统的时候,也涉及到数据集成交换的事情,但是一般通过ETL工具或技术就能够完全解决。而在大数据平台构建中,对于数据采集的实时性要求出现变化,对于数据采集集成的类型也出现多样性,这是整个大数据平台采集和集成出现变化的重要原因。
  首先在这里表面一个观点,即:
  不用期望通过单一的一个工具或技术来完成大数据采集和集成工作,而是需要针对数据采集的实时性需求,数据采集的类型,数据量大小等采用不同的方法和技术。
  因此今天主要针对不同的大数据采集和集成场景做下说明。结构化数据的数据实时同步复制
  结构化数据库的实时同步复制,最早出现在类似异地双活,多中心基础设施架构的搭建中。而当前在很多数据库读写分离集群的场景中也经常用到。简单来说就是通过数据库同步复制,将读写分离,实现读集群本身的水平弹性扩展能力。
  对于数据库实时同步和复制一定会谈到的两款商用产品就是Oracle GoldenGate和Quest SharePlex,具体的介绍网上也比较多,其核心特点就是支持异构数据库之间的实时数据同步和负责,而且对源数据库本身侵入性很小。
  两个商用产品基本都是对各种数据库的Log日志文件进行分析,然后进行复制。
  那对于这块如果要自研来实现有无可能?
  对于Mysql来说由于采用Binlog日志方式,类似淘宝的Otter已经可以完整地实现数据库的实体同步复制。如果单纯是Oracle-Oracle数据库之间,我们也可以采用Oracle DataGuard或者Oracle Stream流复制技术进行复制,还有就是基于Oracle LogMiner进行redo log日志分析后进行两个数据库之间的同步。
  因此关键问题还是在异构数据库之间的同步复制上。对于数据库复制,Oracle当前常用的解决方案主要有:oracle日志文件,比如LogMiner,OGG,SharePlexoracle CDC(Change Data Capture)oracle trigger机制,比如DataBus , SymmetricDSoracle 物化视图(materialized view)比如淘宝的yugong开源
  在这些解决方案里面可以看到有开源的SymmetricDS解决方案,但是是基于触发器机制,侵入性还是相对较大。也有淘宝的yugong可以实现Oracle->mysql的全量或增量复制,但是基于增量物化视图方式,本身会影响到源库数据表的CUD操作。
  而实际上最佳的解决方案仍然是基于log日志的实时同步复制,其核心思路包括三个步骤在源库设置为记录日志或归档模式,源库首先能够记录下日志信息。 实时的能够读取到日志信息,并对日志信息进行解析或适当转换映射,包括和目标库的适配。 在目标数据库直接运行相应解析后的日志SQL语句,实现同步更新。
  由于Mysql本身提供可读性很强的Binlog日志,因此可以看到Mysql->Mysql,Mysql->Oracle的实时同步日志问题是可以得到很好解决的。而对于Oracle->Oracle也可以解决,较难的就是Oracle->Mysql或其它异构数据库,这里需要分析Oracle本身的redo log日志(当前Oracle提供有logminer工具),如果我们自己写一个解析包的话就需要对Oracle redo log结构有完整的了解。
  而结合Oracle 流复制技术,我们可以考虑Oracle首先将变更信息写入到自己的AQ,然后我们从AQ订阅消息后直接处理或者写入到我们自己的消息队列或流处理软件,然后在流处理软件中完成相关的映射转换后写入到目标异构数据库中。Sqoop和Flume数据采集和集成
  如果从Hadoop提供的标准技术架构和开源工具集,对于数据采集和集成部分重点就是两个工具,一个是Sqoop,一个是Flume。
  Sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
  Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并达到各种数据接受方(可定制)的能力。
  对于两者的区别简单说明如下:Sqoop只支持结构化数据和HDFS之间的数据集成,Flume支持文件和日志Sqoop基于Mapreduce的批处理机制,Flume基于事件和流处理机制Sqoop偏定时处理,Flume偏实时或准实时处理当面对的是批量和大数据的时候,Sqoop性能好于Flume
  在采用Sqoop方式进行数据采集和集成的时候,需要考虑的就是增量数据采集。增量数据导入分两种,一是基于递增列的增量数据导入(Append方式)。二是基于时间列的增量数据导入(LastModified方式)。当前这两种方式Sqoop已经支持。
  而对于Flume,最早仅用于日志文件的实时采集和处理,而当前的Agent已经能够支持对结构化数据库的适配,也就是说结构化数据库的数据也可以类似流处理的方式采集到Hdfs库。开源DataX数据采集和集成
  DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
  DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。对于DataX整个架构设计最好的地方就是将Reader和Writer分离,你可以灵活地定义各种读写插件进行扩展。Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
  Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
  我们自己当前研发和使用的DIP大数据集成平台,也是在DataX底层引擎的基础上扩展了数据源配置,数据对象定义和管理,数据调度和任务管理,日志监控等功能。形成一个完善的大数据采集和集成工具平台,如下:
  对于DataX可以看到实际和Sqoop大部分功能都相同,但是两者本身架构实现机制还是有差异。Sqoop本身是基于Hadoop的MapReduce机制进行分布式作业,而对于DataX则是自己对Job进行切分,然后并行执行。
  对于DataX和Sqoop实际在单节点测试情况来看,两者在性能上的差距并不明显。但是数据源是Oracle,Msyql数据库的时候,DataX的性能略好;而当数据源是Hdfs库的时候,Sqoop性能略好。但是开源的DataX不支撑分布式集群,这个本身也对于大数据量下的架构扩展有影响。单节点的峰值传输能力在15M/S左右。
  当前gitbub有对datax定制的管理平台开源,可以参考:
  https://github.com/WeiYe-Jing/datax-web自实现数据采集平台
  而对于常规的数据库包括大数据存储之间的采集和集成,在充分考虑性能的情况下,核心思路为:1. 将源数据库数据进行导出,使用Sql或DB原生的导出命令直接导出为txt文件,字段以分隔符进行分隔。     1.1 可以部署多个代理端,对数据库数据启用多个线程进行导出     1.2 支持基于key值或时间戳的增量数据导出 2. 对导出的数据进行压缩后进行传输(特别是在源和目标库不在同一个数据中心时) 3. 在目标库端基于数据库原生的load命令对数据进行bulk批量导入。
  在整个实现里面有两个核心,一个就是可以启用多个代理端和多线程机制并行导出数据库,其次就是导出数据压缩传输,然后在通过load data原生命令进行数据库的bulk批量装载提升性能。
  如果基于以上思路我们可以看到数据采集的重点还是在性能上面,不会去实现ETL工具本身复杂的数据映射和转化,数据聚合等操作。核心只是做异构数据库和Hdfs文件存储之间的数据搬移。而我们完全自己研发的DataPipe产品基本参考上述思路实现,其测试性能对于结构化数据库之间采集和集成是Sqoop或DataX的2-3倍左右,而对于hdfs之间的集成则在5-10倍左右的性能提升。
  该思路在远程数据传输和集成中,有明显的性能优势。比如内蒙数据中心的批量数据要传输到贵州大数据中心。一个10G的数据在源端导出后并压缩后只有100M左右的大小,整个处理机制则是将压缩数据传输到贵州后再进行解压和入库。
  但是整个方案涉及到需要在源端配置Agent代理,因此本身对源端具有一定的侵入性,导致整体应用效果并不太好。
  对于这种采集存在的约束就是不要去处理数据变更的问题,仅仅是做数据的全量同步或者是数据库表数据的简单Append处理,否则性能本身会下降很多。如果有大量数据更新需要同步,最好的方式还是首先Truncate掉目标数据库表,然后再进行全量同步。简单验证对于Mysql数据库间100万数据,180M左右数据量的全量同步整体同步时间在14秒左右即全部完成。
  虽然这个采集工具现在没有大范围使用,但是却对整体大数据采集和集成实施,功能扩展方面积累了相应的技术经验。流处理模式
  在前面谈Flume日志采集,当时对于日志采集和分析还有比较主流的ELK方案,其中对于日志采集部分重点通过Logstash来实现。
  Logstash是一款开源的数据收集引擎,具备实时管道处理能力。简单来说,logstash作为数据源与数据存储分析工具之间的桥梁,结合ElasticSearch以及Kibana,能够极大方便数据的处理与分析。
  从上图可以看到Logstash核心就是一个数据源和数据存储间的连接通道,而在ELK方案里面ElasticSearch就是支持全文检索的分布式存储。如果采集的数据量和并发量很大,还可以在ElasticSearch前增加Kafka消息中间件来实现前端输入的削峰处理。
  实际上可以看到ELK方案本身和大数据平台的采集和集成关系并不密切,可以看做是针对日志采集分析的一个补充。
  如果上面的方式更多的是流式采集和存储的话,还有一个就是流式计算。简单来说就是采集过来的数据不是简单的导入到目标存储中,而是对采集到的数据进行实时的处理和加工,将处理完成后的中间结果存储到目标库中。
  比如当前谈得比较多的SparkStream流式计算框架。
  举个简单例子,当前我们的ESB总线每天运行3000万次,产生3000万条的实例日志记录,但是我们并不希望将所有数据写入到目标库,而是希望按分钟为单位写入一个统计数据到目标库。传统方式我们是定时进行处理,而采用流式计算框架后可以做到实时或准实时处理。
  前面谈采集,可以看到在源和目标之间增加了一个采集集成工具。
  即: 源端 -- 采集集成工具 -- 目标端
  而流式计算框架后整个过程增加了计算环节如下:
  即: 源端 -- 采集集成工具 -- 计算 - 目标端
  Spark Streaming 是一套优秀的实时计算框架。根据其官方文档介绍,Spark Streaming 有高扩展性、高吞吐量和容错能力强的特点。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。
  所以当你的场景不是简单的将原生数据无变化的采集到大数据平台的贴源层,而是需要进行加工处理仅仅写入中间态数据的话,就需要在传统方案的基础上增加类似SparkStream处理环境,或者进行二次采集集成处理。

Baby和黄晓明仅仅离婚没几天,俩个人的世界发生天翻地覆的变化Baby和黄晓明仅仅离婚没几天,俩个人的世界发生天翻地覆的变化鱼龙混杂的娱乐圈,每天都发生着让人意想不到的事情,每天也是不断的更新着热搜,在这个圈内无时无刻都上演着让人难以猜测的事为什么现代人很难写出和李白水平差不多的古诗?现代化的学习环境弱化了疯狂背诵玩熟语言的武器磨砺机制,没有李白的数字化语言部队,自然很难写出清水出芙蓉,天然去雕饰的李白诗。工欲善其事,必先利其器,谁舍得下苦功磨砺武器,就必然由于疑风险艺人名单曝光,邓紫棋吴亦凡等均上榜,闯关东或将下架导语最近这段时间的娱乐圈可以说是相当的不太平,随着吴亦凡的劣迹被曝光之后,随后又有多名艺人接二连三的翻车,让很多吃瓜网友都大跌眼镜。其中就包括赵薇霍尊张哲瀚郑爽等人。之前的时候,一王濛罕涂大红唇解说比赛!噘嘴舔唇太可爱,自曝家中300多支口红在最新的冬奥比赛中,王濛罕见涂上了大红唇参加解说比赛,而且王濛还穿上了自己第一次见证中国夺下首金的衣服,虽然只是一个解说员,但她也希望用这样的方式来为今晚的比赛带来好运气。刚刚在直黄晓明离婚后超自律,健身房撸铁秀健硕身材,与蒋欣同框画风可爱2月11日晚,黄晓明在个人社交平台分享了一段在健身房撸铁的动态,这也是他虎年的第一练,同时还是与前妻Baby官宣离婚后首次更新健身动态,自然是备受关注。而这次晒出健身视频,黄晓明还baby任嘉伦新剧路透曝光,两人穿校服搭戏,看不出都已为人父母2月11日,网上曝光了一组Angelababy和任嘉伦的新戏路透照,两人多是以校服造型现身,青春洋溢,谁能看出来他们都已经是爸爸和妈妈了呢?baby的颜值确实不用多吹,混血儿五官十山东省新泰市有哪几个明星啊?将军也是闪亮的名星,崇敬军人,宣传将军,介绍几位从新泰走出的解放军高级将军,他们是王洪光,祖籍山东新泰,1949年8月生,1968年3月入伍,解放军中将军衔。他的父亲为开国少将王建嫁给陈建斌16年后,吴越仍是蒋勤勤心中的一根刺,咽不下取不出你跟吴越还有联系吗?这句话是刘涛,在参加妻子的浪漫旅行时。当着所有人的面问陈建斌的话。当时陈建斌有些发愣。可能是突然听到吴越这个名字,有些意外。也可能是诧异刘涛会如此直率。之后他回陈赫前妻许婧把一切都给了陈赫,陪了他14年,却还是被辜负了2022年一开年,陈赫就频繁地引起热议。最近的一段时间,他主演的电视剧假日暖洋洋2盛装相继播出。看得出来人至中年,他是打算专心搞事业了。不过如今提到陈赫,最先被关注的还是他的感情经董洁总算找对了风格,穿亮紫色长裙艳而不俗,扎半马尾美出新高度一个人选择什么样的风格走向?决定了她气质和品味的散发程度,选择适合自己的风格定位,不仅仅要从妆发,服装以及配饰上进行突破,还要关注它们对于自身的优势增加,尤其是踏入了中年阶段的女性宋佳和殷桃好看吗,我欣赏不来?从长相来看,她俩至少不是美女。但演技都不错。尤其是宋佳,各种类型的角色,都能发挥自如。比殷桃更胜一筹。或者说,我更喜欢看宋佳的剧。我觉得殷桃好看,但宋佳只能说不难看,如果放在人世间
为什么现在的爱情无法走到最后,我们输给了什么?男男女女,情情爱爱,是人生最绚丽的时光,也是人生从稚嫩到成熟,从到处的懵懂到最后的心如止水,当下社会的爱情是什么摧毁了彼此相爱,却不能在一起爱情总是美好的,憧憬的,向往的,却很多人49岁洪欣在酒店走廊欢快跳舞,表情放松,看起来十分享受近日,洪欣在酒店走廊欢快跳舞的视频在网上曝光,惹得网友纷纷点赞叫好。没想到洪欣不仅长得美,跳起舞来也这么迷人。真不知道前任莫少聪和现任张丹峰怎么想的?或许,得到了就不懂得珍惜了。视头条贴吧朋友圈哪个更好玩,更有创作价值头条贴吧朋友圈,哪个好玩从使用角度不同所用功能也不一样,有娱乐有工作有创作,有知识分享,三个板块哪个更好1头条头条除了创作作品外,还也可以提升自己的创作能力,同时可以收获回报,也可17岁的高圆圆,班主任至少10个班的男生追她,网友羡慕赵又廷高圆圆赵又廷高圆圆是名副其实的国民女神,代表作倚天屠龙记搜索咱们结婚吧,是一位演技兼人气的偶像明星。但自从与赵又廷结婚后,加上结婚生子,高圆圆就慢慢地隐退了,再无任何影视剧,让人不彭昱畅运气有多差,官方给足助力下,也没能合成十二技能最近,彭昱畅参加了梦幻西游的直播活动。因为彭昱畅在向往的生活中提到自己要开一个名叫合宝宝的公司。这里的合宝宝指的就是梦幻西游中合成技能,或许是彭昱畅多次提到合宝宝,让官方都知道了他当代女生到底有多强?当人走向成熟对待事物的观念就会改变一些曾经羞于启齿的人也变得愿意直观表达以下这些强烈的欲望你有没有呢?写在最后如今人们的思想和观念变得越来越包容不论男性还是女性都有大胆地去表达欲望猎狐浅谈王凯在剧中的演技经侦类型题材电视剧猎狐,近日在各大媒体上热播。该剧是以公安部2015猎狐行动为背景,讲述全国公安机关缉捕在逃境外经济犯罪嫌疑人的专项行动。男主王凯所饰演的夏远,在剧中的演技确实给人18天收视率居榜首,24亿网播量,隐秘而伟大成为收视黑马导读18天全国网收视率第一,20天染指电视艺人V榜首,近24亿网络总播放量,隐秘而伟大近期大火收视率居高不下,成为收视黑马。一隐秘而伟大男主荣登电视剧艺人榜榜首李易峰的人气指数也一这个交通事故你觉得日产车主可以私下解决吗?追尾当场转账把对方车买了4月24日晚,广西一奥迪车司机黄某,因没有驾驶证遭遇查车,加速冲卡闯红灯驶离现场,之后与一辆日产轿车相撞,心中有鬼的他担心对方报警,当即要求私了,以支付宝转罗志祥要回来,他准备好了吗?关注娱乐圈八卦新闻的人应该都知道,近期闹得沸沸扬扬关注度最高的娱乐事件,就是罗志祥和他女朋友周扬青分手事件。4月23日,周扬青通过微博长文怒曝,小猪罗志祥背自己长达九年在外面与多名亮剑李云龙得以安全撤离楚云飞为他设的鸿门宴,是身绑炸弹吗?李云龙和段鹏二人身绑炸药,只身奔赴楚云飞为他俩专设的鸿门宴,在守卫森严的358团团部,面对20几支黑洞洞的枪口还能全身而退,楚云飞不杀他难道是因为李云龙身上绑着炸弹吗?在回答这个问