大数据生态组件¶
概述¶
在大数据环境中,众多组件协同工作,共同构建了一个强大且高效的数据处理和分析生态系统。这些组件涵盖了从数据存储、处理、分析到安全、调度和可视化的各个方面,满足了企业级大数据应用的多样化需求。以下是我整理的大数据生态系统中的组件:
Hdfs || Yarn || Hive || Hudi || Kyuubi || Impala || Kudu || Spark || Flink || Dinky || MapReduce || Tez || Kafka || Hbase || Presto || Sentry || Ranger || Knox || Kerberos || Hawq || Greenplum || Doris || Clickhouse || Cassandra || Hue || Oozie || Azkaban || Airflow || XXL-Job || DolphinScheduler || Datax || Sqoop || X2doris || Kylin || Zookeeper || Alluxio || Celeborn || Gluten || HttpFS
分类与介绍¶
数据存储¶
- Hdfs(Hadoop Distributed File System):分布式文件系统,用于存储大规模数据。
- Hudi(Hadoop Upsert Delete Insert):数据湖框架,支持数据的更新、删除和插入操作。
- Hive:基于Hadoop的数据仓库工具,支持SQL查询。
- Doris:MPP架构的分析型数据库,支持实时数据分析。
- Clickhouse:高性能的列式数据库,适合实时数据分析。
- Greenplum:基于PostgreSQL的开源MPP数据库,用于大规模数据分析。
- Hawq:基于HDFS的MPP SQL引擎,支持SQL查询。
- Hbase:基于HDFS的分布式列存储数据库,适合存储海量稀疏数据。
- Kudu:支持快速分析的存储引擎,适合存储结构化数据。
- Cassandra:分布式NoSQL数据库,支持高可用性和可扩展性。
- Alluxio:分布式缓存文件系统,用于加速数据访问。
- Celeborn:分布式缓存存储系统,用于加速计算任务。
- Zookeeper:分布式协调服务,用于集群管理和服务发现。
计算引擎¶
- Yarn(Yet Another Resource Negotiator):Hadoop的资源管理系统,用于资源调度。
- MapReduce:Hadoop的计算框架,用于分布式数据处理。
- Tez:优化的MapReduce框架,支持DAG(有向无环图)计算。
- Spark:分布式计算框架,支持内存计算,适合快速迭代计算。
- Gluten 一个为 Apache SparkSQL 设计的插件。
- Flink:流处理和批处理统一的分布式计算框架。
- Impala:基于HDFS和HBase的分布式SQL查询引擎,适合交互式查询。
- Presto:分布式SQL查询引擎,支持跨多个数据源的查询。
- Kyuubi:SQL引擎服务,支持多租户和资源隔离。
- Kylin:分布式分析型数据仓库,支持预计算和快速查询。
数据同步与ETL¶
调度与工作流¶
- Oozie:Hadoop生态系统中的工作流调度工具。
- Azkaban:轻量级的工作流调度工具。
- Airflow:Apache开源的工作流调度平台。
- XXL-Job:分布式任务调度平台。
- DolphinScheduler:分布式易扩展的可视化工作流调度平台。
安全¶
- Kerberos:网络认证协议,用于身份验证。
- Sentry:Apache开源的授权框架,用于数据访问控制。
- Ranger:Hadoop生态系统中的安全框架,用于集中管理权限。
- Knox:Hadoop生态系统中的安全网关,用于集群的访问控制。
交互与管理¶
消息队列¶
- Kafka:分布式消息队列,用于高吞吐量的消息传递。