Hadoop生态圈

  1. hadoop 生态概况
    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
    用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
    具有可靠、高效、可伸缩的特点。
    Hadoop的核心是YARN,HDFS和Mapreduce。
    Hadoop生态圈

  2. HDFS(Hadoop分布式文件系统)
    Hadoop分布式文件系统(Distributed File System) - HDFS (Hadoop Distributed File System)

  3. MapReduce(分布式计算框架)
    并行计算框架,0.20前使用 org.apache.hadoop.mapred 旧接口,0.20版本开始引入org.apache.hadoop.mapreduce的新API

  4. HBase(分布式列存数据库)
    类似Google BigTable的分布式NoSQL列数据库。(HBase和Avro已经于2010年5月成为* Apache 项目)

  5. Hive(数据仓库)
    数据仓库工具,由Facebook贡献。

  6. Zookeeper(分布式协作服务)
    分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。

  7. Sqoop(数据ETL/同步工具)
    Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。
    Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。

  8. Pig(ad-hoc脚本)
    大数据分析平台,为用户提供多种接口。

  9. Mahout(数据挖掘算法库)
    Mahout起源于2008年,最初是Apache Lucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的*项目。
    Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。
    Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。
    除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB 或Cassandra)集成等数据挖掘支持架构。

  10. Flume(日志收集工具)
    它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。
    同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。

  11. Oozie(工作流调度器)
    Oozie是一个可扩展的工作体系,集成于Hadoop的堆栈,用于协调多个MapReduce作业的执行。它能够管理一个复杂的系统,基于外部事件来执行,外部事件包括数据的定时和数据的出现。