• 一篇文章让你理解 大数据所需要的组件


    简介

    什么是Hadoop?

    hadoop中有3个核心组件
    分布式文件系统:HDFS —— 实现将文件分布式存储在很多的服务器上
    分布式运算编程框架:MAPREDUCE —— 实现在很多机器上分布式并行运算
    分布式资源调度平台:YARN —— 帮用户调度大量的mapreduce程序,并合理分配运算资源

    专业术语

    1. OLTP Online Transaction Processing 联机事务处理
    2. OLAP Online Analytical Processing 联机实时分析
    3. HTAP Hybrid Transaction & Analytical Processing 混合事务和分析处理
    4. MPP Massively Parallel Processing 大规模并行处理
    5. 列存储 在基于列式存储的数据库中,数据是按照列为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在

    数仓建模以及分层

    1. ODS
    2. DIM
    3. DWD
    4. DWS
    5. DWT
    6. ADS

    其他

    1. DAG是有向无环图(Directed Acyclic Graph)
    2. 星型模型
    3. 雪花模型

    存储框架

    1. HBase 基于hdsf
    2. TiDB
    3. ClickHouse
    4. InfluxDB
    5. GraphQL
    6. Elasticsearch
    7. Apache Doris

    HBase Hadoop database 的简称,也就是基于Hadoop列数据库,是一种OLTP 数据库nosql ,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等

    TiDB开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理HTAP

    InfluxDB 时序数据库

    ClickHouse本质是一个OLTP 系统的列式数据库,主要做即时查询,大宽表,单表查询速度极佳,join表现差,明细数据查询

    GraphQL 是一种针对 Graph(图状数据)进行查询特别有优势的 Query Language(查询语言),所以叫做 GraphQL

    Elasticsearch 是一个分布式的免费开源搜索和分析引擎

    Apache Doris开源MPP分析型数据库产品 ,灵活的多维度查询,join表现比Clickhouse好,明细数据查询,数量级支持TP-PB,需要注意的是Doris是mysql语法

    数据同步组件

    1. sqoop
    2. canal
    3. DataX
    4. maxwell
    5. Debezium
    6. Flink-CDC

    离线批量计算计算引擎

    1. MapReduce
    2. YARN
    3. hive
    4. Spark

    YARN 是 Hadoop 2.0 版本以后的资源管理器,即 MapReduce 2.0,相比于 1.0 版本,架构中的各个模块分工明确,在性能和稳定性上都有所提升。YARN 负责整个集群资源的管理和调度,也就是说所有的 MapReduce 都需要通过它来进行调度,支持多种计算框架。

    HiveHadoop数据仓库,能帮助熟悉SQL的人运行MapReduce任务,做一些数据清洗(ETL)、报表、数据分析,时间消耗长,适合离线的批量数据计算

    spark的出现就弥补了MapReduce的不足。 spark是一种基于内存的快速、通用、可扩展的大数据计算引擎,应用于 批处理 用于ETL(抽取、转换、加载)。

    实时流式计算引擎

    1. flink
    2. storm
    3. spark stream

    在这里插入图片描述

    存储层

    1. hdsf
    2. Apache Ozone
    3. s3
    4. oss
    5. Ceph
    6. GlusterFS

    数据湖

    1. Apache Hudi
    2. Apache Iceberg
    3. Delta Lake
      在这里插入图片描述

    任务调度组件

    1. Azkaban
    2. Airflow
    3. Oozie

    airflow是一个可编程的工作流调度、监控平台。可分布式部署调用,基于DAG(本身没有队列功能,需要使用第三方组件,比如redis、rabbitMQ),airflow用python进行编程
    开发,可以进行丰富的任务处理,包括bash命令的执行、python代码调用、发送邮件、发送Http请求等。
    airflow websever -D启动airflow的web界面

    azkaban是一个工作流监控、调度工具。可以部署分布式,通过在job文件中以properties格式配置任务并打包成zip包即可进行调度。azkaban内部架构包括三部分
    excutorServer、webServer、mysql,分别负责任务的执行、web界面的显示、调度信息的存储。
    azkaban是一个轻量级的调度器。

    oozie是一个基于hadoop的分布式的工作流调度框架,oozie通过在xml文件中配置任务来进行调度,执行调度时会启动MR任务,依赖于hadoop平台,是一个重量级框架。

    Hadoop集群 管理工具,大数据运维

    1. Ambari
    2. CDH

    Ambari是Apache软件基金顶级项目,它是一个基于web的工具,用于安装、配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。

    CDH 是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建

    即席查询组件

    即席查询是用户根据自己的需求,灵活的选择查询条件,系统根据用户的选择生成相应的统计报表。普通查应用查询是定制开发的,即席查询是用户自定义查询条件

    理解:快速的执行自定义SQL(可能无法提前运算和预测)
    在这里插入图片描述

    1. Druid:是一个实时处理时序数据的OLAP数据库,因为它的索引首先按照时间分片,查询的时候也是按照时间线去路由索引。

    2. Kylin:核心是Cube,Cube是一种预计算技术,基本思路是预先对数据作多维索引,查询时只扫描索引而不访问原始数据从而提速。

    3. Presto:它没有使用Mapreduce,大部分场景下比HIVE快一个数量级,其中的关键是所有的处理都在内存中完成。

    4. Impala:基于内存计算,速度快,支持的数据源没有Presto多。

    5. SparkSQL:是spark用来处理结构化的一个模块,它提供一个抽象的数据集DataFrame和DataSet,,并且是作为分布式SQL查询引擎的应用。它还可以实现Hive on Spark,hive里的数据用sparksql查询。

  • 相关阅读:
    金融服务行业SaaS项目管理系统解决方案,助力企业挖掘更广阔的增长服务空间
    仓库自动化中的RFID技术的应用浅谈
    第十五天-爬虫项目实战
    Jumpserver安全一窥:Sep系列漏洞深度解析
    【问题思考】中断隐指令是硬件还是CPU执行的?(分析执行过程)
    【OpenMv】颜色模式之Lab
    Ubuntu18.04添加rc.local启动项
    网络安全观察报告 攻击态势
    分析高数值孔径物镜的聚焦特性
    什么牌子的电容笔性价比高?口碑好的电容笔推荐
  • 原文地址:https://blog.csdn.net/u010020726/article/details/125552693