走进大数据开源项目 [作者:翁岩青]
来源:互联网 发布:java acl访问控制列表 编辑:程序博客网 时间:2024/05/21 17:12
最近大数据领域最火的消息莫过于Pivotal兑现了其年初对于开源其大数据核心产品GemFire,HAWQ,Greemplum DB的承诺 。这个消息也让Pivotal在国内技术社区风风光光的火了一把,程序猿们可以看到真正的企业级数据仓库是如何设计和实现的。
与此同时,开源社区中也存在很多类似的优秀大数据相关项目,涵盖了分布式数据存储与计算,数据处理,数据仓库,机器学习等与数据有关的方方面面,下面就让我们看看开源社区中的这些大数据项目典型代表。
首先,说起大数据开源项目,第一个必须要提的当然就是Apache Hadoop下的三个子项目Apache HDFS,Apache MapReduce,Apache YARN,这基本上可以认为是大数据处理的国际标准,是整个大数据生态系统的基石。
在分布式存储领域,可以按存储模型分为文件系统,KV存储,Columnar存储,Document存储,Graph存储。
分布式文件系统是整个分布式存储的最底层,鼻祖正是Google大名鼎鼎的GFS。Apache HDFS是GFS的开源版本,应该不用再介绍了。RedHat GlusterFS作为Linux社区老大的产品,也是值得一看的。
KV存储是最简单的存储模型,比较典型的系统包括Amazon DynamoDB, Memcached,Redis, BerkeleyDB, Google LevelDB
Columnar存储是KV存储的直接扩展,Value对应Column family或是Column Map。这类系统最基本的是Apache HBase,Google早期三架马车之一BigTable开源版本,类似的还有Apache Cassandra,Hypertable, Facebook HydraBase。
Document存储主要有MongoDB, Facebook Apollo等。Graph存储系统大部分基于Google的Pregel,主要开源实现有:Apache Giraph,Apache Spark Bagel,Phoebus。另外Google也开源了自家的Graph数据库Cayley。
分布式计算方面,主要体现在各种计算框架,数据处理模型,典型代表有Apache MapReduce,最经典的大数据处理引擎。Apache Spark,目前最火的大数据处理引擎,速度相比MapReduce有数量级的提升,基于Spark也构建了一整套生态系统,SQL,Streaming,Machine Learning,Graph。其他的项目包括Apache Storm,Apache Pig,Apache Tez,Apache S4, OpenMPI等。
分布式任务调度与集群管理,这类系统主要实现分布式任务管理,资源调度,集群管理等基础任务,包括Apache YARN,Apache Aurora,Apache Falcon,Apache Oozie,Linkedin Azkaban,Apache Ambari,Apache Bigtop, Apache Mesos等。
SQL与SQL-like处理,这类系统正是Pivotal开源的主要产品形态,基本上是在分布式系统上搭建SQL查询引擎,有传统的MPP SQL数据库,SQL-on-Hadoop,也有SQL-like类的大数据查询系统。包括Greenplum DB,Apache Hive, Apache HAWQ,Cloudera Impala,SparkSQL,Apache Phoenix,Apache Drill, SharkSQL,Facebook PrestoDB,CockroachDB等。这类系统现今也越来越多向云端发展,包括Amazon Redshift,Google BigQuery,Snowflake等,遗憾的是这类云端产品由于安全性问题大多没有选择开源。
分布式服务及数据处理领域,主要包括数据获取,日志处理,消息服务等分布式编程必要的组件。主要有Apache Zookeeper, Apache Flume, Apache Kafka, Apache Sqoop, Cloudera Morphlines, Facebook Scribe, Logstash,Linkedin Gobblin等。
在分布式存储、计算、数据处理以及各类基础组件之上,各类分布式应用层出不穷,比如机器学习应用相关的Apache Mahout, Cloudera Oryx, Spark MLlib, MLbase,搜索应用相关的Apache Solr,ElasticSearch,HBase Coprocessor, Facebook Unicorn,应该说有了这些分布式基础组件的支持,构建新的分布式应用变得方便很多。
在大数据的海洋中,如何更直观对数据进行探索和可视化也是目前最值得关注的方向,这类开源项目包括D3,Chart.js, Arbor, DC.js, Sigma.js, Zeppelin等,熟悉前端技术的攻城师可以分分钟利用这些优秀的library将大数据直接以图表形式展示给人们。
- 走进大数据开源项目 [作者:翁岩青]
- 走进大数据开源项目
- 走进大数据时代
- 走进大数据,学习路线
- 大数据开发之走进MapReduce
- 大数据开发之走进MapReduce
- 大数据走进奥运会:科技感爆棚
- Google BigQuery带你走进大数据
- 《爆发》作者:大数据领域将有新赢家
- 大数据专业走进各大高校,具体学什么?
- 走进大前端:ES6深入剖析解析彩票项目实战
- 医疗产业走进大数据时代:祸兮?福兮?
- 走进大数据Hadoop第一步hostname与hosts配置
- 《走进大数据之Hive入门》学习笔记(1)
- 大数据开源项目集锦(持续更新)
- 开源项目地址-cloudera版本大数据框架
- ifeng.com开源项目之一 MySQLMonitor (作者浪湾)
- github android优秀的开源项目、作者推荐
- 接口 ValueStack:com.opensymphony.xwork2.util
- apk反编译
- linux文件属性
- Android 如何根据网络地址获取网络图片方法
- android中的数据库操作
- 走进大数据开源项目 [作者:翁岩青]
- 关于VS2010调试慢和运行慢的问题
- 伸展树
- Spring MVC自学前说明
- 编程之美-电梯调度算法方法整理
- Struts2+CKEditor实现web编辑器
- zabbix短信监控
- Android中IPC的基础和几种常用方式
- C语言实现链表之单向链表(八)删除尾结点