• Spark 问题总结 (一)


    1. Spark是什么?

    •  Spark是一个并行数据处理框架。它允许开发快速、统一的大数据应用程序,将批处理、流处理和交互分析结合起来。

    2. RDD是什么?

    •  Spark的主要核心抽象称为弹性分布式数据集。RDD是满足这些属性的分区数据的集合。不可变、分布式、延迟计算、可捕获是常见的RDD属性。

    3. Immutable 是什么?

    • RDD 一旦创建并赋值,就不可能更改,这个属性称为不变性。Spark在默认情况下是不可变的,它不允许更新和修改。但 可以转换成新的RDD。

    4. Spark 内存计算?

    • 将所有数据保存在内存中进行计算,而不是保存到磁盘中。因此Spark捕捉数据的速度比Hadoop快100倍。(可配置)

    5. Spark engine 的职责?

    • Spark负责跨集群调度、分发和监视应用程序。

    6. 常见的Spark生态系统?

    • Spark SQL
    • Spark streaming
    • 机器学习算法的MLLib
    • GraphX用于图形计算

    7. 分区是什么?

    •  分区是数据的逻辑划分,这一思想源于Map-reduce (split)。专门为处理数据而派生的逻辑数据。小块数据也可以支持可伸缩性并加快处理速度。输入数据、中间数据和输出数据都是分区的RDD。

    8. spark如何对数据进行分区?

    • Spark使用map-reduce API对数据进行分区。在输入格式中,我们可以创建多个分区。在默认情况下,HDFS块大小是分区大小(为了获得最佳性能),但它“可以像Split那样更改分区大小”。

    9. Spark如何存储数据?

    •  Spark是一个处理引擎,没有存储引擎。它可以从任何存储引擎(如HDFS、S3和其他数据资源)检索数据。

    10 .什么是SparkCore?

    •  SparkCore是apache spark framework的一个基础引擎。内存管理、故障诊断、调度和监视作业以及与存储系统的交互是Spark的主要功能。

    11. SparkSQL与HQL和SQL有何不同?

    •  SparkSQL是sparkCore引擎上的一个特殊组件,它支持SQL和HiveQueryLanguage而不改变任何语法。可以连接SQL表和HQL表。

    12. 我们什么时候使用SPARK STREAMING?

    • Spark流是一种实时处理流数据的API。Spark流从不同的资源收集流数据,如web服务器日志文件、社交媒体数据、股票市场数据或Hadoop生态系统,如Flume和Kafka。

    13. Spark流API如何工作?

    • 程序员在配置中设置一个特定的时间,在这个时间内有多少数据进入Spark,该数据作为批处理进行分离。
    • 输入流(DStream)进入spark流, 被框架分解成分批的小块,然后送入spark引擎进行处理。
    • Spark Streaming API将批量数据传递给核心引擎。核心引擎可以以流分批的形式生成最终结果。输出也采用batch的形式。

     

    14. spark中的变换是什么?

    • Spark在RDDs上提供了两种特殊的操作,称为转换和操作。
    • 转换遵循惰性操作并临时保存数据,直到调用该操作。
    • 每个转换生成/返回新的RDD。
    • 转换示例:Map、flatMap、groupByKey、reduceByKey、filter、co-group、join、sortByKey、Union、distinct、sample都是常见的spark转换。

     

    15. Action作用是什么? 

    • 操作是RDD的操作,该值返回到spar驱动程序,
    • 该程序启动在集群上执行的作业-lazy 的 trigger。
    • 转换的输出是动作的输入。
    • reduce, collect, take采样,take, first, saveAsTextfile, saveAsSequenceFile, countByKey, foreach是Apache spark中常见的操作。

    16. 什么是RDD lineage?

    • Lineage 是一个重建丢失分区的RDD进程。
    • Spark不会在内存中复制数据,如果数据丢失,Rdd会使用lineage来重建丢失的数据。
    • 每个RDD都记得如何从其他数据集构建RDD。

    17.Spark中的Map和flatMap是什么?

    •  Map是处理数据的特定行或行。
    • 在FlatMap中,每个输入项都可以映射到多个输出项(因此函数应该返回一个Seq,而不是单个项)。最常用来返回数组元素。

    18.什么是广播变量?

    •  广播变量允许程序员在每台机器上保持一个缓存的只读变量,而不是将其副本与任务一起发送。
    • Spark支持两种类型的共享变量,称为广播变量(如Hadoop分布式缓存)和累加器(如Hadoop计数器)。
    • 广播变量存储为数组缓冲区,它向工作节点发送只读值。

    19. Accumulator是什么?

    •  Spark accumulator类似于Hadoop计数器,可以计算事件的数量和作业期间发生的事情。
    • 只有驱动程序可以读取累加器值。
     
     
     
     
     
     
  • 相关阅读:
    C#中泛型学习笔记
    ASP.NET C#各种数据库连接字符串大全——SQLServer、Oracle、Access
    单点登录SSO
    Package Manager Console 向VS2010安装 EntityFramework
    JavasSript中类的实现(1)
    Java线程实现提供者消费者模式
    MySQL插入语句解决唯一键约束
    【BZOJ4000】【LOJ2104】【TJOI2015】棋盘 (状压dp + 矩阵快速幂)
    【AGC005F】Many Easy Problems (NTT)
    【Luogu4630】【APIO2018】 Duathlon 铁人两项 (圆方树)
  • 原文地址:https://www.cnblogs.com/yjyyjy/p/12869183.html
Copyright © 2020-2023  润新知