大数据发展历程

整理自 https://www.bilibili.com/video/BV1tF411479W

小数据时代

OLTP(增删改)OLAP(查询)二合一的系统,随着数据量的增大开始分库分表。之后大量数据的处理(min max avg ...)不易操作。

大数据

所有数据汇聚到一个中心存储,这个中心底层是“分布式”,但向上暴露的接口是“单机”的。这极大程度的降低了数据传输、存储、分析的难度。

历程:

  1. Hadoop
    2006 年出现 Hadoop,其主要包括 1. MR(分布式计算)2. HDFS(分布式存储)。
    使用方法:写3个函数: map函数、reduce函数、main函数。提交到hadoop集群由多台集群分布式计算。
  2. Hive
    2010 年出现,是一个在Hadoop上层的sql翻译器,将sql语句翻译为代码提交到Hadoop中执行。
  3. Hadoop 2.0
    将集群调度功能从MR中剥离,形成“分布式调度”,即Yarn(Yet Another Resource Negotiator)。Yarn的出现扩展了Hadoop生态圈,不光MR,后来的Spark、Flink也能跑在Yarn上。
  4. Yarn
    在没有云的时代,大数据平台使用Yarn做分布式调度;未来会逐步切换到云原生(Docker + k8s)
    Yarn:管理的是一个个Container,每个Container是一个JVM虚拟机
    k8s:管理的是一个个Docker,每个Docker是一个资源完全隔离的Linux进程
  5. Spark
    写java spark代码比写MR更简洁方便,spark比MR计算快许多,因为所有中间结果不落地存储到hdfs,而是尽可能在内存中。
  6. Spark SQL
    与Hive类似,用户使用上没有太大变化,都是写SQL,底层的计算引擎从MR切换到Spark
  7. pySpark
    改写Java为写python,降低开发门槛
  8. Spark Streaming
    之前的都是批处理计算,这时出现了“伪流式计算”。按照时间间隔把任务分解为一个一个的小型批处理任务,然后不断向Spark集群提交任务。
  9. Spark 部署方式
    目前主要部署再yarn上,未来会迁移到k8s
  10. Flink
    Flink是一种流失计算框架,曾经的流失计算框架Storm已没落。其与Spark一样,都支持单机、Yarn、k8s等多种方式部署。
    Spark起家于批处理,往流式方向拓展;Flink起家于流式处理,网批处理方向扩展。
  11. SQL只会越来越普及,因为它最简单;MR是过去时,现在基本上都是Spark/Flink;Yarn是现在,未来是k8s

 

 

 

posted @ 2022-05-25 15:31  某某人8265  阅读(312)  评论(0编辑  收藏  举报