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

简介

什么是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

ODS是数据接入层,所有进入数据的数据首先会接入ODS层。一般来说ODS层的数据是多复杂多样的。从数据粒度上看ODS层是粒度最细的数据层。

  1. DIM

维表层 公共维度汇总层(DIM)主要由维度表(维表)构成。维度是逻辑概念,是衡量和观察业务的角度。维表是根据维度及其属性将数据平台上构建的物理化的表,采用宽表设计的原则。因此,公共维度汇总层(DIM)首先需要定义维度。

  1. DWD

为数据仓库层,数据明细层的数据应是经过ODS清洗,转后的一致的、准确的、干净的数据。DWD层数据粒度通常和ODS的粒度相同,不同的是该层的数据质量更高,字段更全面等。在数据明细层会保存BI系统中所有的历史数据,例如保存近10年来的数据。例如 对ODS层数据进行清洗(去除空值,脏数据,超过极限范围的数据)、维度退化脱敏等

  1. DWS

数据集市层,该层数据是面向主题来组织数据的,通常是星形或雪花结构的数据。从数据粒度来说,这层的数据是轻度汇总级的数据,已经不存在明细数据了。例如 以DWD为基础,按天进行轻度汇总。

  1. DWT

数据应用层,它是完全为了满足具体的分析需求而构建的数据,也是星形或雪花结构的数据。从数据粒度来说是高度汇总的数据。其汇总的目标主要是按照应用需求进行的。例如 以DWS为基础,按主题进行汇总。

  1. ADS

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
  7. Kettle
  8. StreamSets

离线批量计算计算引擎

  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张图片

存储层

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

数据湖

  1. Apache Hudi
  2. Apache Iceberg
  3. Delta Lake
    一篇文章让你理解 大数据所需要的组件_第2张图片

任务调度工具

  1. Azkaban
  2. Airflow
  3. Oozie
  4. DolphinScheduler

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平台,是一个重量级框架。

​ Apache DolphinScheduler是一个分布式、易扩展的可视化DAG工作流任务调度平台,解决数据处理流程中错综复杂的依赖关系
所有流定时操作都是可视化的,通过拖拽来绘制DAG,配置数据源及资源,同时对于第三方系统,提供api方式的操作

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

  1. Ambari
  2. CDH (Cloudera版本)
  3. HDP (Hortonworks版)
  4. CDP (Cloudera和Hortonworks合并后 收费)
  5. USDP (国人ucloud版)
  6. CRH (基于 Apache Ambari + Apache BigTop)
  7. TDH (星环 收费闭源)

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构建

Hortonworks 主打产品是Hortonworks Data Platform (HDP),也同样是100%开源的产品,HDP除了常见的项目外还包含了Ambari,一款开源的安装和管理系统。HCatalog,一个元数据管理系统。

即席查询组件

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

理解:快速的执行自定义SQL(可能无法提前运算和预测)
一篇文章让你理解 大数据所需要的组件_第3张图片

  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查询。

BI 工具

产品 国内/外 是否开源 主要标语
Tableau 国外 Find easy answers to hard questions
PowerBI 国外 在需要时理清思路
superset 国外 一个现代数据探索和可视化平台。
MetaBase 国外 Have questions about your data? Metabase has answers。
QuickBI 国内 一个专为云上用户量身打造的新一代智能 BI 服务平台。
SugarBI 国内 企业可使用 Sugar BI有效助力自己的业务决策
FineBI 国内 新一代自助大数据分析的 BI 工具;使用自助式 BI 工具,释放企业数据潜力。
永洪 BI 国内 释放数据价值,人人都是数据分析师。
DataEase 国内 人人可用的数据可视化分析平台
cube.js 国外 这个是一个通用的数据分析框架,里边包含了自助式的dashboard

ETL 套件工具

  1. kettle
  2. StreamSets
  3. Apache NiFi
  4. Airbyte

你可能感兴趣的:(大数据,大数据,hadoop,flink,spark,Debezium)