• SparkCore、SparkSQL、SparkStreaming三者之间的区别和联系


    【spark核心模块】
    在这里插入图片描述
    【Spark Core 】
    Spark 由 Scala 语言开发的,Spark Core 中提供了 Spark 最基础与最核心的功能,Spark 其他的功能如:Spark SQL,Spark Streaming,GraphX, MLlib 都是在 Spark Core 的基础上进行扩展的。
    SparkCore是Spark的基础,底层的最小数据单位是:RDD ; 主要是处理一些离线(可以通过结合Spark Streaming来处理实时的数据流)、非格式化数据。它与Hadoop的MapReduce的区别就是,spark core基于内存计算,在速度方面有优势,尤其是机器学习的迭代过程。

    【Spark SQL】
    Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用 SQL或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。
    Spark SQL 底层的数据处理单位是:DataSet ,主要是通过执行标准 SQL 来处理一些离线(可以通过结合Spark Streaming来处理实时的数据流)、格式化数据。就是Spark生态系统中一个开源的数据仓库组件,可以认为是Hive在Spark的实现,用来存储历史数据,做OLAP、日志分析、数据挖掘、机器学习等等

    【Spark Streaming】
    Spark Streaming 是 Spark 平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的 API。
    Spark Streaming底层的数据处理单位是:DStream ; 主要是处理流式数据(数据一直不停的在向Spark程序发送),这里可以结合 Spark Core 和 Spark SQL 来处理数据,如果来源数据是非结构化的数据,那么我们这里就可以结合 Spark Core 来处理,如果数据为结构化的数据,那么我们这里就可以结合Spark SQL 来进行处理。

    【总结】

    sparkcore--------离线批处理
    sparksql --------sql高级查询
    sparkshell --------交互式查询
    sparkstreaming--------流式处理

    【Spark Streaming 和 Flink两者的联系和区别】
    [运行模式区别]
    Spark Streaming 是微批处理,运行的时候需要指定批处理的时间,每次运行 job 时处理一个批次的数据。运行流程如下图所示
    在这里插入图片描述
    Flink 是基于事件驱动的,事件可以理解为消息。事件驱动的应用程序是一种状态应用程序,它会从一个或者多个流中注入事件,通过触发计算更新状态,或外部动作对注入的事件作出反应。运行流程如图所示
    在这里插入图片描述

  • 相关阅读:
    【技术积累】Docker部署笔记
    【进阶篇】MySQL的MVCC实现机制详解
    1671. 得到山形数组的最少删除次数-c语言dp算法加前序后序遍历求解-双百代码
    C位操作符
    React Native实现Toast轻提示和loading
    虚拟交换缓存不足导致qt编译失败
    算力经济下DPU芯片的发展机遇
    Transformer - model architecture
    [计算机入门] Windows功能的安装与卸载
    Matlab基本语法(二)
  • 原文地址:https://blog.csdn.net/weixin_44870066/article/details/125453459