本片博客介绍大数据相关的开源系统以及他们对应的一句话简介, 对于各位想大概了解大数据都有哪些开源系统的同学有帮助。各种相关开源系统简介:
如下是Apache基金支持的开源软件
- hdfs
跟GFS类似, 一个分布式文件系统。
- mapreduce
跟Google的MapReduce类似, 一个典型的简单的分布式计算框架。
- yarn
资源管理系统, 跟Mesos类比。
- Avro
跟PB类似, 用于将数据结构序列化成字节码, 在不同的语言之间切换。
官方举例是将C转换给Pig。
- BigTop
一个给Hadoop打包和测试的软件。其本来是cloudera公司自己给自己写的一个方便OP部署和搭建环境的工具, 不过因为写得不错, 已经成为了Apache*项目。目前支持系列Hadoop生态链中的软件: Zookeeper, Flume, HBase, Pig, Hive, Sqoop, Oozie, Whirr, Mahout, SolrCloud, Crunch, DataFu and Hue
- Chukwa
收集各种实时监控数据(比如日志)并固化到HDFS上的事情。
- Drill
Google的Dremel的开源版本。PB以上数据实时秒级查询。
- Flume
用来做数据迁移的工具。支持数据包括Avro, files, 系统日志, 落地的系统包括HDFS, HBase。
- HBase
Google的BigTable的开源版本。宽列存储, 底层基于HDFS。
- HCatalog
为HDFS做的一个管理metadata的系统。基于Hive, 提供服务给MapReduce, Pig, 将来会支持HBase。
- Hive
支持HSQL, 将SQL转换成MapReduce任务。
- Mahout
一个数据挖掘, 机器分析的算法库。
- Oozie
用来管理Hadoop中的多轮任务的工具, 类似DAG管理工具。
- Tez
也是多个任务的DAG管理工具, 但是其做得更底层,直接替代了MR的调度程序,多个任务之间的数据传递不用再落地到hdfs上了。
- Pig
跟Hive类似, 提供比裸写MR更友好的界面, 然后翻译成MapReduce。只是Hive提供的是SQL, Pig提供的是更高级别的语言Pig-Latin, 供用户做数据挖掘和分析。
- Sqoop
Sql-to-Hadoop。将关系型数据库中的数据导入到Hadoop当中。
- ZooKeeper
提供高可用的存储服务。内部采用paxos一致性协议。
- Whirr
用于将Hadoop放到各种IaaS里面去运行的环境部署类项目。
- Crunch
用来管理Hadoop/Spark上面的Pipeline的软件。应该是比Pig/Hive更低一个级别的抽象, 提供数据的join/aggregation的Java API。
- DataFu
为Pig而准备的系列数据挖掘算法软件包。
- Hue
Hadoop的漂亮平台化界面。
如下是非Apache组织的一些项目
- Spark
支持迭代式计算。将MapReduce的一轮一轮计算的概念转换成同一批数据不停处理的概念, 并提供高级语言。
- Shark
Hive On Spark。即支持HSQL。
- Impala(Cloudera)
另一个Google的Dremel的开源版本, 界面跟Hive类似(事实上就是使用的Hive-SQL的子集), 只是不是翻译成MapReduce而是直接查询。
- Sentry(Cloudera)
在Hive/Impala之上独立的一层专门做认证授权的系统。
-
SolrCloud
Solr+Hadoop, Big Data Search。