posts - 32,  comments - 0,  views - 13464

大数据技术生态

本文主要抄录《大数据测试技术与实践》

由下而上可以划分为:

  • 数据采集
    • 关系与非关系数据采集组件,分布式消息队列等,如kafka、sqoop
  • 数据存储
    • 分布式存储系统、关系和非关系数据库等,如HDFS、MySQL
  • 管理调度
    • 资源管理和调度YARN,容器Kubernetes、服务协调zookeeper、工作流调度平台(如Azkaban)等
  • 计算机分析
    • 批处理(MapReduce)、流计算(Flink)、查询分析(Impala)和图计算(Gelly)等
  • 组件应用
    • 各种数据分析和机器学习工具,如Hive、Pig、TensorFlow
     

大数据采集计算

  • 系统日志采集,如kafka、Flume
  • 网络数据采集,如爬虫
  • 其他数据采集

大数据存储计算

分布式文件系统 HDFS

  • 主要解决大数据存储问题

  • GFS(Google File System)的开源实现

  • Hadoop两大核心组成部分之一,另外一个是MapReduce

  • 遵循主从(master/salve)框架

  • 可以由单台服务器扩展到数千台服务器

  • NameNode关联和维护HDFS文件系统的读写操作

  • 多个DataNode1负责存储数据

HDFS优点

  • 具有高度容错能力,能实时监测错误并且自动恢复。
    • 类似于服务器的容灾能力,当某台服务器挂了,就启用备用服务器,进行数据同步
  • 数据存储为Streaming流式数据存储 。批处理数据,而不是实时处理,提高了大量处理数据的能力,但是会牺牲响应时间
  • 大数据集。提供了cluster集群架构,集群可扩展为数百个节点
  • 数据简单一致性。一次性写入多次读取,一个文件创建后就不可再修改,这样可以简化数据一致性
  • 跨硬件和跨软件。平台的可移植性

海量数据列式存储:Hbase

  • HDFS容错率很高,即便是在系统崩溃的情况下,也能够在节点之间快速传输数据。HBase是非关系数据库,是开源的Not-Only-SQL数据库,它的运行建立在Hadoop上。HBase依赖于CAP定理(Consistency, Availability, and Partition Tolerance)中的CP项

  • HDFS最适于执行批次分析。然而,它最大的缺点是无法执行实时分析,而实时分析是信息科技行业的标配。HBase能够处理大规模数据,它不适于批次分析,但它可以向Hadoop实时地调用数据

  • HDFS和HBase都可以处理结构、半结构和非结构数据。因为HDFS建立在旧的MapReduce框架上,所以它缺乏内存引擎,数据分析速度较慢。相反,HBase使用了内存引擎,大大提高了数据的读写速度。

  • HDFS执行的数据分析过程是透明的。HBase与之相反,因为其结构基于NoSQL,它通过在不同的关键字下进行排序而获取数据。

 

大数据分析技术

  • 批处理计算。针对大规模数据的批量处理,主要代表产品有MapReduce、Spark
  • 流计算。针对流数据的实时计算,主要代表产品有,Spark Streaming、Flink 、Storm等
  • 查询分析计算。针对大规模数据的存储管理和查询分析,主要代表产品有Hive、Impala等
  • 图计算。针对大规模图结构数据的处理,主要代表产品有Pregel、Gelly等

 

批处理计算-MapReduce

  • 进行大量数据处理时,用MapReduce进行分布式计算,这样可大量减少计算时间,还有Spark、Pig等就是类似的代表产品或技术

  • Map将任务分割成更小任务,由每台服务器分别执行

  • Reduce将所有服务器返回的结果汇总,整理成最终结果

 

流计算

  • 流式处理假设数据的潜在价值是数据的新鲜度、实时性,需要尽快处理得到结果。在这种方式下,数据以流的方式到达。在数据连续到达的过程中,由于流携带了大量数据,只有小部分的流数据被保存在有限的内存中。流处理方式用于在线应用,通常工作在秒或毫秒级别。

  • 目前主流的流处理组件包括:StromSpark Streaming、KafKa、Flume、Flink、S3等

  1.  Spark 和 Strom、Flink对比,无法在对实施要求很高的流处理场景中

 

OLAP引擎

  • 即联机分析处理。OLAP对业务数据执行多维分析,并提供复杂计算,趋势分析和复杂数据建模的能力。它主要用于支持企业决策管理分析,是许多商务智能(BI)应用程序背后的技术。
  • 目前开源的引擎很多,如Hive、Impala、Persto等

Hive

image-20211201111306662

 

其他参考

大数据管理调度技术

分布式集群资源调度框架-YARN

  • 针对Hadoop1.0中MR的不足,引入了Yarn框架。Yarn框架中将JobTracker资源分配和作业控制分开,分为Resource Manager(RM)以及Application Master(AM)。
  • Hadoop的MapReduce架构称为YARN(另一种资源协助者),是效率更高的资源管理器核心
  • Client客户端,用户向Resource Manage请求执行运算
  • 在NameNode会有Resource Manage统筹管理运算请求
  • 在其他的DateNode会有 Node Manager负责运行,监督每个任务运行情况,并向Resource Manage 汇报状态

image-20211201102156648

容器管理系统:Kubernetes

  • 常见的大数据技术组件一般有对应的开源项目支持部署,如Flink,Spark也有官方支持Spark on Kubernetes运行模式等

ZooKeeper

  • 是大数据的动物管理员,是一个开源的分布式的,是Hadoop的一个子项目

  • Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应,从而实现集群中类似Master/Slave管理模式

  • Zookeeper=文件系统+通知机制

常用的工作流调度平台

  • 对于简单的任务调度,可以使用Linux Crontab,但是对于在多台机器上、任务之前有依赖关系时,Linux Crontab就不能满足需求,因此需要分布式任务调度系统来进行任务编排
  • 业界常用开源调度平台有:Azkaban、Oozie、Airflow等

大数据商业产品

  • 大数据解决方案提供商
  • 大数据云计算服务商
  • 大数据SaaS服务商
  • 大数据开发平台
 
 


posted on   aha_baby  阅读(34)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示