Hadoop生态系统

那些年,追过的开源软件和技术 - SDK.CN - 中国领先的开发者服务平台
https://www.sdk.cn/news/2842

Hadoop生态系统
这一块关注过很久了,目前很多很成熟的组件。这是一张生态图,我大多数都在本文中介绍过了,主要的组件都是为了方便大家从底层的MapReduce模型中脱离出来,用高层语言来做分布式计算。


HBase****:是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化数据集群。像Facebook,都拿它做大型实时应用。(可参考文章Facebook's New Realtime Analytics System: HBase to Process 20 Billion Events Per Day)
Pig****:Yahoo开发的,并行地执行数据流处理的引擎,它包含了一种脚本语言,称为Pig Latin,用来描述这些数据流。Pig Latin本身提供了许多传统的数据操作,同时允许用户自己开发一些自定义函数用来读取、处理和写数据。在LinkedIn也是大量使用。
Hive****:Facebook领导的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计。像一些data scientist 就可以直接查询,不需要学习其他编程接口。** **
Cascading/Scalding****:Cascading是Twitter收购的一个公司技术,主要是提供数据管道的一些抽象接口,然后又推出了基于Cascading的Scala版本就叫Scalding。Coursera是用Scalding作为MapReduce的编程接口放在Amazon的EMR运行。
Zookeeper****:一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现。
Oozie****:一个基于工作流引擎的开源框架。由Cloudera公司贡献给Apache的,它能够提供对Hadoop MapReduce和Pig Jobs的任务调度与协调。
Azkaban****:跟上面很像,Linkedin开源的面向Hadoop的开源工作流系统,提供了类似于cron 的管理任务。
Tez****:Hortonworks主推的优化MapReduce执行引擎,与MapReduce相比较,Tez在性能方面更加出色。

//
数据存储(NoSQL)
当时为了解决Scale的问题,伴随分布式系统发展,形成各个NoSQL软件,百花齐放。下面介绍常见的一些:
Memcached****:是高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。性能瓶颈第一个就要想到用这个。有点万金油的感觉。
Redis****:一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多。
Cassandra****:名称来源于希腊神话,是特洛伊的一位悲剧性的女先知的名字。最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式架构于一身,可扩展型和性能都不错,Coursera也是大量使用作为数据对象存储。
Berkeley DB****:文件数据库,介于关系数据库与内存数据库之间,使用方式与内存数据库类似,它提供的是一系列直接访问数据库的函数。之后被Oracle收购了。
CouchBase****:文档型数据库,由CouchOne与Membase合并,之后的公司叫做Couchbase,功能还是挺强大的,自动备份,自动分片,在Linkedin广告组和运维部门都大力推荐。
RocksDB****:比LevelDB更彪悍的引擎,代码层面上是在LevelDB原有的代码上进行开发的,但却借鉴了Apache HBase的一些好的idea。
LevelDB****:Google开发的,一个速度非常块的KV存储库(storage library),它支持字符串的key与value,并且这种映射关系按key排序(ordered mapping)
MongoDB****:一个基于分布式文件存储的数据库。为WEB应用提供可扩展的高性能数据存储解决方案。 介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
有一些基于各种NoSQL 特性和性能的比较,可参考文章:
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs Hypertable vs ElasticSearch vs Accumulo vs VoltDB vs Scalaris comparison;
Benchmarking LevelDB vs. RocksDB vs. HyperLevelDB vs. LMDB Performance for InfluxDB。
下面几个都是Linkedin开源的数据技术** Projects | LinkedIn Data Team **
Voldemort****:NoSQL 键/值存储引擎,完全是分布式且去中心化的,支持分区与容错。
Espresso****:文档型NoSQL数据存储系统,MySQL作为底层数据存储,具有高性能、高扩展性、支持事务、容错能力等重要特征。
Databus****:实时低延迟数据抓取系统
AMP Lab三剑客
AMP Lab 是Berkeley的一个王牌实验室,汇集系统,数据库,机器学习,各个领域的教授和丰富工业经验的学生,它们做出了很多有意思得到工业界认可的技术。


Mesos****:一个分布式环境的资源管理平台,它使得Hadoop、MPI、Spark作业在统一资源管理环境下执行。它对Hadoop2.0支持很好。Twitter,Coursera都在使用。
Spark****:已经成为Apache的顶级项目了,2014年的当红炸子鸡,我在这个帖子里面也介绍的比较全面了。Spark,它们也成立公司Databricks对cloud管理进行产品化。
Tachyon****:是一个高容错的分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享,就像Spark和MapReduce那样。有幸跟项目发起人李浩源聊过几次,这个项目目前发展非常快,甚至比Spark当时还要惊人。目前到0.6版本,参与开源的规模和版本迭代速度都很快。
先进大数据技术:流式,实时
由于Hadoop的火红,整个业界都在喋喋不休地谈论大数据。Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据。但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂。
Storm****:所谓流处理框架,就是一种分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易。经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。Twitter是他们的主推。
Kafka****:是Linkedin开源的一种分布式发布-订阅消息系统,它主要用于处理活跃的流式数据。我面试过很多硅谷创业公司都在使用,比如最重要的用户Tracking数据。LinkedIn的开发者也出来成立公司Confluent,最新发布platform
Samza****:一个分布式流处理框架,专用于实时数据的处理,非常像Twitter的流处理系统Storm,LinkedIn开源了这项技术。跟上面的几个技术就可以比较一下了,streaming big data storm, spark and samza
SummingBird****:将批处理和流处理无缝连接,通过整合批处理与流处理来减少它们之间的转换开销。把上面的Storm跟Scalding结合起来,所谓Lambda Architecture。跟这个相关组件是Algebird: 利用一些概率算法HyperLogLog来提高计算速度。
Drill****:先说Dremel,是Google 的“交互式”数据分析系统。可以组建成规模上千的集群,处理PB级别的数据。MapReduce处理一个数据,需要分钟级的时间。Dremel将处理时间缩短到秒级。Apache推出Dremel的开源实现Drill。
Druid****:在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级以内对十亿行级别的表进行任意的探索分析。
Impala****:Cloudera公司主导开发的新型查询系统,它提供SQL语义,能够查询存储在Hadoop的HDFS和HBase中的PB级大数据,号称比Hive快5-10倍,但最近被Spark的风头给罩住了,大家还是更倾向于后者。
Spark Streaming****:建立在Spark上的应用框架,利用Spark的底层框架作为其执行基础,并在其上构建了DStream的行为抽象。利用DStream所提供的api,用户可以在数据流上实时进行count,join,aggregate等操作。
Spark SQL****:之前Spark类似Hive的工具称为Shark,现在新替代就是Spark SQL,** Big Data Benchmark**里面也跟Impala性能比较。

工具类:
Make****:很多同学在学校时候,认为编程就是在编辑器里面运行,当离开了IDE,他们就不知道该怎么办。C语言的打包工具,比如解析依赖,生成二进制和可执行程序。
Ant****:Java的传统打包工具,需要写个build.xml
Gradle****:新一代的编译构建工具,结合ivy自动匹配和下载官方稳定版本。
Maven****:同上,有个比较Java构建工具:Ant vs Maven vs Gradle **
Homebrew****:最近几年都用Mac平台,那么包的管理可以用这个。
Eclipse****:使用最广泛的IDE,著名的日蚀标识。它的出现就是吃掉SUN(Java诞生地),我大多时间用这个,后来也用过Intellij 不过是商业版本的。跟Eclipse相比,管理大型代码库时候速度快。
Docker****:作为一种新兴的虚拟化方式,Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多,运行时所需的资源比虚拟机少,而效率又比虚拟机高提供隔离的执行环境。算是2014年上升最快的一个工具了。
**
JUnit****:java的单元测试,属于测试驱动的利器。
Git****:强大的分布式代码版本管理,Linux那么多分支都没乱正是它的功劳。但还是挺复杂,一大堆命令比SVN要多多了。目前GitHub 就是最大的源码管理平台,我们公司也用它的企业版。有个结合Git和代码审查的工具由Facebook开发,Phabricator
SVN****:简化的代码管理,还有perforce Amazon和Google也用。最老的是CVS估计现在没人用了呃。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容