hadoop生态圈各产品基本概念梳理

  1. hbase:是一个适合于非结构化数据存储的数据库,是基于列的而不是基于行的模式,HBase利用Hadoop MapReduce来处理HBase中的海量数据。
  2. HDFS: 是GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的。
    Hive与Hbase的数据一般都存储在HDFS上。Hadoop HDFS为他们提供了高可靠性的底层存储支持。
  3. hive:是一个数据仓库软件,可帮助读取,写入和管理使用SQL驻留在分布式存储中的大型数据集。结构可以投影到已经存储的数据上。提供了一个命令行工具和JDBC驱动程序,用于将用户连接到Hive。
  4. Sqoop: 是一种用于在Hadoop和关系数据库或大型机之间传输数据的工具。 您可以使用Sqoop将数据从关系数据库管理系统(RDBMS)(如MySQL或Oracle)或主机导入到Hadoop分布式文件系统(HDFS)中,将数据转换为Hadoop MapReduce,然后将数据导出到RDBMS。
  5. pig:是分析大型数据集的平台,包括用于表达数据分析程序的高级语言,以及用于评估这些程序的基础设施。 Pig程序的显着特点在于它们的结构适用于大量并行化,从而使它们能够处理非常大的数据集。

Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS(关系型数据库)数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

  1. flume-ng:是一种分布式,可靠和可用的服务,用于高效收集,聚合和移动大量日志数据。它具有基于流数据流的简单灵活的架构。它具有可靠的可靠性机制和许多故障切换和恢复机制的鲁棒性和容错能力。它使用一个简单的可扩展数据模型,允许在线分析应用程序。

  2. Oozie:是一个管理Apache Hadoop作业的工作流程调度程序。
    工作流作业是定向循环图(DAG)的动作。
    协调员工作是由时间(频率)和数据可用性触发的经常性Oozie工作流作业。
    与其余的Hadoop堆栈集成,支持几种类型的Hadoop作业(例如Java map-reduce,Streaming map-reduce,Pig,Hive,Sqoop和Distcp)以及系统特定的作业(例如Java程序和shell脚本)

  3. avro:允许编码Hadoop文件的schema的一种数据序列化系统

  4. Mahout:一个数据挖掘库,它包含了最流行的一些数据挖据算法,并且以MapReduce模型来实现他们,它有以下三个特征:

  • A simple and extensible programming environment and framework for building scalable algorithms
  • A wide variety of premade algorithms for Scala + Apache Spark, H2O, Apache Flink
  • Samsara, a vector math experimentation environment with R-like syntax which works at scale
  1. HCatalog:是用于Hadoop的表和存储管理层,使用户可以使用不同的数据处理工具(Pig,MapReduce)来更轻松地在网格上读取和写入数据。
  2. bigtop:是一个工程的系统开发包,对Hadoop生态系统的测试,主要目标就是构建一个Apache Hadoop生态系统的包和交互式测试的社区。这个包括对各类不同级别工程进行测试(包,平台,运行时间,升级等…),它由社区以关注系统作为一个整体开发而来。
  3. storm:一个分布式实时计算系统,Storm是一个任务并行连续计算引擎。 Storm本身并不典型在Hadoop集群上运行,它使用Apache ZooKeeper的和自己的主/从工作进程,协调拓扑,主机和工作者状态,保证信息的语义。无论如何, Storm必定还是可以从HDFS文件消费或者从文件写入到HDFS。
  4. spark:一种快速,通用引擎用于大规模数据处理,Spark是一个数据并行通用批量处理引擎。工作流中在一个类似的和怀旧风格的MapReduce中定义,但是,比传统Hadoop MapReduce的更能干。apache spark有其流API项目,该项目通过短间隔批次允许连续处理。Apache Spark本身并不需要Hadoop操作。但是,它的数据并行模式,需要稳定的数据优化使用共享文件系统。该稳定源的范围可以从S3,NFS或更典型地,HDFS。执行Spark应用程序并不需要Hadoop YARN。Spark有自己独立的主/服务器进程。然而,这是共同的运行使用YARN容器Spark的应用程序。此外,Spark还可以在Mesos集群上运行。
  5. cdk:Cloudera开发人员工具包(CDK)是一个新的开源项目,旨在帮助开发人员开始运行,在CDH上构建应用程序,Cloudera的开源分发(包括Hadoop)比以前更快更容易
  6. crunch:一个简单的Java API,运行在Hadoop MapReduce和Apache Spark之上,用于加载和数据聚合等任务,在简单的MapReduce上实现繁琐。 当处理不适合关系模型的数据(例如时间序列,序列化对象格式,如协议缓冲区或Avro记录)和HBase行和列时,API尤其有用。 对于Scala用户,还有Scrunch API,它构建在Java API之上,并包含一个用于创建MapReduce管道的REPL(读取 - 评估 - 打印循环)。
  7. datafu:用于在Hadoop中处理大规模数据的库的集合,它由两部分组成:
  • Apache DataFu Pig: a collection of user-defined functions for Apache Pig
  • Apache DataFu Hourglass: an incremental processing framework for Apache Hadoop in MapReduce
  1. hue:Hadoop User Experience,是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的
  2. impala:提高了Apache Hadoop上的SQL查询性能,同时保留了熟悉的用户体验。 使用Impala,您可以实时查询数据,无论是存储在HDFS还是Apache HBase中,包括SELECT,JOIN和聚合函数。 此外,Impala使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)作为Apache Hive,为面向批量或实时查询提供了一个熟悉和统一的平台。
  3. kite:是Hadoop的高级数据层。 它是一个API和一套加速开发的工具。 您可以配置Kite如何将数据存储在Hadoop中,而不是自己构建和维护该基础架构。
  4. kudu:Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺。
  5. llama:Llama (Low Latency Application MAster) 是一个 Yarn 的 Application Master,用于协调 Impala 和 Yarn 之间的集群资源的管理和监控。Llama 使 Impala 能够获取、使用和释放资源配额,而不需要 Impala 使用 Yarn 管理的 container 进程。Llama 提供了 Thrift API 来和 Yarn 交互。
  6. Ambari:一个基于web的部署/管理/监控Hadoop集群的工具集
  7. parquet:是一种可用于Hadoop生态系统中任何项目的柱状存储格式,无论数据处理框架,数据模型或编程语言如何选择。
  8. sentry:是一种用于对存储在Hadoop集群中的数据和元数据执行细粒度角色授权的系统。
  9. whirr:was a set of libraries for running cloud services and deploying clusters.
  10. zookeeper:is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them ,which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Hadoop生态圈是指围绕Hadoop分布式存储和处理框架所形成的一系列相关技术和工具。它包括了众多的开源项目和组件,用于支持大规模数据处理、存储和分析。 以下是Hadoop生态圈中一些常见的组件和技术: 1. HDFS(Hadoop Distributed File System):Hadoop的分布式文件系统,用于存储大规模数据,并提供高可靠性和高吞吐量的数据访问。 2. MapReduce:Hadoop的计算框架,用于并行处理大规模数据集。它将数据分片并分发到集群中的多个节点上进行处理和计算。 3. YARN(Yet Another Resource Negotiator):Hadoop的资源管理系统,用于调度和管理集群中的计算资源。它可以同时支持多种计算框架,如MapReduce、Spark等。 4. Hive:基于Hadoop的数据仓库工具,提供类似于SQL的查询语言HiveQL,使用户可以通过SQL语句对存储在Hadoop中的数据进行查询和分析。 5. Pig:一种高级的数据流脚本语言,用于对大规模数据进行转换、查询和分析。它提供了一种简化的编程模型,使用户可以快速编写复杂的数据处理任务。 6. HBase:一个分布式、可扩展的NoSQL数据库,建立在Hadoop之上。它提供了高性能的随机读写能力,适用于存储大规模的结构化数据。 7. Spark:一个快速、通用的大数据处理引擎。与传统的MapReduce相比,Spark具有更高的性能和更丰富的功能,支持交互式查询、流处理、机器学习等应用。 除了以上列举的组件外,还有其他一些组件如Sqoop(用于数据导入和导出)、Flume(用于数据采集和传输)、Oozie(用于工作流调度)、ZooKeeper(用于协调分布式应用)等,它们都是Hadoop生态圈中的重要组成部分,为大数据处理提供了全面的支持和解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kse_music

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值