盘点大数据生态圈,那些繁花似锦的开源项目

发表于12小时前| 2466次阅读| 来源CSDN| 6 条评论| 作者仲浩

大数据开源HadoopSpark
width="22" height="16" src="http://hits.sinajs.cn/A1/weiboshare.html?url=http%3A%2F%2Fwww.csdn.net%2Farticle%2F2015-09-11%2F2825674&type=3&count=&appkey=&title=%E8%BF%87%E5%8E%BB%E6%95%B0%E5%B9%B4%EF%BC%8C%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BC%80%E6%BA%90%E7%94%9F%E6%80%81%E5%9C%88%E5%BE%97%E5%88%B0%E4%BA%86%E9%95%BF%E8%B6%B3%E7%9A%84%E5%8F%91%E5%B1%95%E2%80%94%E2%80%94%E5%9C%A8%E6%95%B0%E6%8D%AE%E7%9A%84%E6%95%B4%E4%B8%AA%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E4%B8%AD%EF%BC%8C%E5%90%84%E7%A7%8D%E5%BC%80%E6%BA%90%E6%8A%80%E6%9C%AF%E6%A1%86%E6%9E%B6%E6%9E%97%E7%AB%8B%E3%80%82%E8%80%8C%E5%9C%A8%E8%BF%99%E4%BA%9B%E5%BC%80%E6%BA%90%E6%8A%80%E6%9C%AF%E7%9A%84%E5%9F%BA%E7%A1%80%E4%B8%8A%EF%BC%8C%E4%B8%9A%E5%86%85%E6%B6%8C%E7%8E%B0%E5%87%BA%E4%B8%80%E7%B3%BB%E5%88%97%E4%BB%A4%E4%BA%BA%E6%95%AC%E4%BD%A9%E7%9A%84%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%9E%B6%E6%9E%84%E5%AE%9E%E8%B7%B5%E3%80%82&pic=&ralateUid=&language=zh_cn&rnd=1441979066017" frameborder="0" scrolling="no" allowtransparency="true">摘要:过去数年,大数据开源生态圈得到了长足的发展——在数据的整个生命周期中,各种开源技术框架林立。而在这些开源技术的基础上,业内涌现出一系列令人敬佩的大数据架构实践。

随着互联网和移动互联网的发展,时下我们正处在一个大数据的时代。在数据金山的诱惑下,各个机构纷纷开始探索从数据中提取洞见并指导实践的可能。而在这个需求的刺激下,在过去数年,大数据开源生态圈得到了长足的发展——在数据的整个生命周期中,从收集到处理,一直到数据可视化和储存,各种开源技术框架林立。

以这些开源技术为基石,业内涌现出一系列令人敬佩的大数据架构实践,而《程序员》电子刊9月B大数据实战与技术专题则摘录了电商、金融、游戏等行业的大数据应用,并覆盖了当下热门的大数据开源技术实践与技术细节,如Hadoop、Spark、Docker等,详情参阅《程序员》电子刊9月B。而在本文中,笔者将带大家一览这些精彩实践赖以成型的根本——繁华的开源大数据生态圈。

资源调度与管理

谈海量数据处理,机构首先面临的就是对系统进行扩展,其中又分为纵向扩展和横向扩展两种方式。首先看纵向扩展,对于大型IT机构来说,抛开成本不谈,用单机去应对海量数据显然已不切实际,因此各个机构不得不在横向扩展上寻找出路,也就是所谓的集群计算方式。聚焦集群计算,资源调度无疑构成了整个计算模式的基础。在这个领域,YARN无疑最为耀眼,被广泛部署于生产环境。然而,受限于资源粒度控制和隔离性等问题,Mesos同样备受瞩目,并在一些拥有深厚技术资本的公司得以使用,比如Apple、Twitter等。

分布式文件系统

在资源调度之外,大数据这一块最主要的基础无疑当属分布式文件系统,而历经数年发展,HDFS显然已独占鳌头,同时也是MapReduce、Spark和Flink等系统的默认文件系统。关于HDFS细节相信已无需详述。

出于业务对速度的追求,在内存速度远高于磁盘价格又逐渐降低的情况下,机构使用内存来缓存大量数据已愈来愈普遍。而基于当下内存计算框架存在的普遍挑战,内存文件系统Tachyon得到了显著地关注,并在大量场景中得以部署,就拿下文提到的Spark来说:可以用作不同计算框架的数据共享,以避免磁盘IO;用以缓存数据,从而避免了JVM崩溃时的数据丢失并缓解GC开销。此外,Tachyon还被用作远程数据缓存,服务于即席查询。在内存为王的时代,Tachyon前景不可小觑。

分布式计算类别

时至今日,随着业务的不断发展,分布式计算可大体分为3个方向——批处理、流计算和即席查询。而针对这3个不同领域,大数据生态圈内同样存在大量值得参考的框架。

1. 批处理

在开源大数据处理上,业内最早接触的无疑就是MapReduce,同时也是当下生产环境部署最多的计算框架。然而正如上文所述,缺乏对内存的有效利用,效率比较低的MapReduce同样面临着大量的竞争者,其中两个备受关注的就是Spark和Flink。

Spark出自伯克利AMPLab之手,基于Scala实现,从开源至今已吸引了越来越多企业的落地使用,仅国内比较知名的大规模部署就有百度、阿里、腾讯等。Spark最主要抽象概念是弹性分布式数据集(RDD),在内存中储存数据,只有在需要时才会访问磁盘,在迭代计算上具有明显优势。同时需要注意的是,Spark并不是一个完全基于内存的计算平台。

Flink于今年跻身Apache顶级开源项目,与HDFS完全兼容。Flink提供了基于Java和Scala的API,是一个高效、分布式的通用大数据分析引擎,其主要借鉴了MPP的思路。更主要的是,Flink支持增量迭代计算,从而系统可以快速地处理数据密集型和迭代任务;同时,即使内存被耗尽,通过内存管理组件、序列化框架和类型推理引擎,Flink也可以正常运行。

2.流计算

当下知名度比较高的开源流式计算框架有Storm/JStorm、Spark Streaming、Flink、S4、Samza。其中S4出现的比较早,但是基于该项目的活跃度,这里不再讨论。

Storm编程模型简单,显著地降低了进行实时处理的难度,也是当下最人气的流计算框架之一。同时,对比其他计算框架,Storm有一个更低的延时(毫秒级)。此外,历经数年发展,Storm也更加成熟,在容错性、扩展性、可靠性上都有不俗的表现。

Samza出自于LinkedIn,构建在Kafka之上的分布式流计算框架,于今年年初跻身于Apache顶级开源项目。与Storm的区别是,Samza可以直接利用YARN。

Spark Streaming。严格来讲,Spark Streaming该归属于批处理,其处理机制是将数据流分解成一系列小的RDD,通过时间窗来控制数据块的大小。 虽然Spark Streaming在实时性上略微逊色,但却拥有更大的吞吐,并且可以轻松的与Spark其它组件结合,发挥更强大的作用。

Flink支持delta-iterations,在迭代中可以显著减少计算。同时,在处理方式中,Flink是一行一行处理,从而能获得与Storm类似的性能。然而,对于SQL支持和社区活跃度上,Flink都稍逊Spark一筹。

3. 即席查询

即席查询当下比较受关注的有Hive、SparkSQL、Presto、Impala、Drill等,其中Hive借助于Hadoop的东风,已然在生产环境得到广泛使用。在Hive之外,关注度最高的无疑是Spark SQL。Impala出自知名大数据创业公司Cloudera,在沉寂了一段时间后,当下亦有了复苏的迹象。Presto来自Facebook,类似于Impala的一个即席查询工具,在该公司内部得到广泛使用,而国内也在一些知名公司得到部署,比如美团。Drill则是Google Dremel的开源实现,于今年5月发布了里程碑版本1.0,稍显年轻。

大数据开源生态繁花似锦

在大数据领域,除下上述几个分布式计算类别之外,在图处理和机器学习领域同样存在许多优秀的开源技术框架,比如:图计算开源技术Spark Graphx、PowerGraph、Giraph、Neo4j等;机器学习开源技术Spark MLlib、Mahout、PredictionIO等。同时,开源技术已经占领了数据从收集到可视化和存储的整个流程,比如:用于数据收集的Flume(NG)和Sqoop,分布式消息队列技术Kafka、RabbitMQ,用于数据可视化的HighCharts、D3.js、Kibana、Echarts等等。此外,加之Cassandra、HBase、MongoDB、Redis等NoSQL,Lucene、Solr、ElasticSearch等搜索技术,Docker等容器技术,ZooKeeper等分布式应用程序协调服务,整个大数据开源生态繁花似锦!

盘点大数据生态圈,那些繁花似锦的开源项目相关推荐

  1. 大数据生态圈常用组件(二):概括介绍、功能特性、适用场景

    三更灯火五更鸡,正是男儿读书时. 小编整理了一些常用的大数据组件,使用场景及功能特性,希望对后浪有所帮助. 分类 名称 简介 功能特点 使用场景 大数据存储 HDFS HDFS是一个分布式的文件系统, ...

  2. 一篇文章带你了解大数据生态圈---大数据组件图谱

    小编一篇文章带你了解大数据生态圈-大数据组件图谱 转载地址:http://blog.csdn.net/u010039929/article/details/70157376 文章目录 小编一篇文章带你 ...

  3. 一文看懂大数据生态圈完整知识体系【大数据技术及架构图解实战派】

    一文看懂大数据生态圈完整知识体系 徐葳 随着大数据行业的发展,大数据生态圈中相关的技术也在一直迭代进步,作者有幸亲身经历了国内大数据行业从零到一的发展历程,通过本文希望能够帮助大家快速构建大数据生态圈 ...

  4. Hadoop和大数据:60款顶级开源工具

    说 到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,"100%的大公司&q ...

  5. Data - 大数据生态圈

    本文内容来自网络,对原文内容和格式做了细微调整,并配图以便阅读理解. 如想查看初始信息,请点击原文. 00 引言 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单 ...

  6. 云原生、大数据、AI领域的开源服务创新

    目录 前言 正文 一.大背景和开源新发展 二.开源经验与实践应用,驱动行业创新 三.技术讨论与展望 结尾 前言 本文来自一位粉丝投稿,我代为发表了,这里感谢 @flly.她是在观看完我做的一期线上圆桌 ...

  7. 五洲国际打造大数据生态圈

    3月31日,五洲国际控股有限公司与网商银行.国内互联网物流交易平台龙头企业"卡行天下"正式宣布签订战略合作协议.五洲国际将利用自身领先业界的专长,共同构筑大数据生态圈,全方位满足企 ...

  8. 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】...

    早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有限.凭着多年对行业研究和对解决方案的 ...

  9. 民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?...

    本文为天善智能联合创始人吕品原创. 早在今年的上半年我应邀参加了由 Smartbi 主办的一个小型数据分析交流活动,在活动现场第一次了解到了民生银行的阿拉丁项目.由于时间关系,嘉宾现场分享的内容非常有 ...

最新文章

  1. 打开git命令窗口_用动图的形式打开 10 大 Git 命令?
  2. MATLAB常用的学习的网站
  3. angular2.0学习日记1
  4. 关于Eclipse创建Android项目时,会多出一个appcompat_v7的问题
  5. 编译Android版本TensorFlow
  6. powerpc-linux-gcc,关于powerpc-linux-uclibc-gcc的使用
  7. Python实现matplotlib显示中文的方法详解
  8. 【演讲实录】银行PB级别海量非结构化数据管理实践
  9. 2016年1月28日报
  10. Qt——P7 对象树
  11. distinct去重多个字段_sql中去重是distinct还是group by?
  12. android 定时唤醒蓝牙,Android保活——蓝牙唤醒(主动kill掉也可唤醒)
  13. Windows 下快速删除大量文件的办法
  14. GWAS生物学相关名词解释
  15. python一张图-一张图学会python
  16. testlink升级
  17. 物联网的2018,百花齐放的一年
  18. 截屏工具、录屏工具不能用?是因为这个!!
  19. python推箱子代码详细讲解_Python使用tkinter模块实现推箱子游戏
  20. c语言程序设计实验与习题指导 第2版,C语言程序设计实验与习题指导(第2版)参考答案.doc...

热门文章

  1. php分页样式,thinkphp分页样式修改
  2. android基础(基本框架的构成)
  3. 城市列表简称JSON数据
  4. vins中imu融合_双目版 VINS 项目发布,小觅双目摄像头作为双目惯导相机被推荐...
  5. keras 多维时间序列预测
  6. SGM:Sequence Generation Model for Multi-Label Classification(SGM)
  7. 深度学习应用实战案例-员工流失预测模型(Python源代码)
  8. 深度学习核心技术精讲100篇(三十八)-滴滴司机调度系统实践
  9. tableau必知必会之用参数操作实现数据下钻
  10. DELL服务器安装过程中出现的ERROR及解决方案