TypechoJoeTheme

顿搜

统计

01. 大数据技术概述——大数据专栏

2022-07-18
/
0 评论
/
162 阅读
/
正在检测是否收录...
07/18

谈到大数据,不得不提到Hadoop。Hadoop起源于Google公布的与GFS(谷歌文件系统)、MapReduce(面向大型集群的简化数据处理)、BigTable(结构化数据的分布式存储系统)有关的三篇论文,正是这三篇论文奠定了大数据发展的基石,Hadoop的诞生极大地促进了大数据技术的快速发展。

大数据采集

数据一般有两种来源,一种来自日志文件,一种来自数据库。每种数据源的采集技术有很多种.

  • 使用FlumeLogstashFilebeat等工具采集日志文件数据
  • 使用SqoopCanal等工具采集数据库中的数据。

大数据存储与交换

  • HDFS分布式文件系统解决了海量数据存储的问题,但是HDFS并不支持数据的随机查询与更新
  • HBase数据库构建在HDFS之上,既解决了海量数据存储又能实现数据的实时随机查询与更新,满足线上用户的服务需求
  • Kafka消息队列作为实时的数据中转服务,对来自各个平台的数据进行流转,达到分享和交换数据的目的

大数据离线计算

  • MapReduce解决了海量数据分布式计算的问题,当然MapReduce是离线计算框架,仅支持离线计算
  • HiveSpark CoreSpark SQLFlink DataSet等技术都支持离线计算

大数据实时计算

  • Spark Streaming
  • Flink DataStream等实时计算模型

系统架构

系统架构从下至上,

  • 第1层是数据源,数据源一般主要有两种数据类型,一种是日志文件数据,另一种是关系型数据库数据。
  • 第2层是采集层,Flume用来采集日志文件数据,Sqoop用来采集关系型数据库中的数据。
  • 第3层是存储层,Flume实时采集数据写入Kafka,然后用于实时计算,Flume实时采集数据写入HBase,然后用于离线计算,无论实时计算还是离线计算,如果最终的结果数据集比较小,可以存入MySQL数据库,反之可以写入HBase数据库。
  • 第4层是计算层,MapReduce可以做离线计算,由于MapReduce模型不灵活,编程成本高,这里可以使用Hive集成HBase做离线计算,Flink或Spark可以消耗Kafka中的数据做实时计算,在生产环境中,MapReduce、Hive、Spark以及Flink等作业一般都运行在YARN集群中。
  • 第5层是服务层,主要提供查询服务接口、查询缓存等。
  • 第6层是应用层,无论是离线计算还是实时计算,最终结果可以通过应用层的HUE、达芬奇以及H5+Echarts等技术对数据进行可视化分析。

在项目系统架构设计中,Zookeeper协调各个技术组件,IDEA基于Maven

朗读
赞 · 0
版权属于:

顿搜

本文链接:

https://dun.so/archives/2875/(转载时请注明本文出处及文章链接)