当前位置: 首页 > article >正文

【spark】——spark面试题(1)

一、Spark能做什么?

  • 实现离线数据批处理:类似于MapReduce、Pandas,写代码做处理:代码类的离线数据处理 。
  • 实现交互式即时数据查询:类似于Hive、Presto、Impala,使 用SQL做即席查询分析:SQL类的离线数据处理
  • 实现实时数据处理:类似于Storm、Flink实现分布式的实时计算:代码类实时计算或者SQL类的实时计算
  • 实现机器学习的开发:代替传统一些机器学习工具

二、spark由哪些部分组成?

  • Spark Core:Spark最核心的模块,可以基于多种语言实现代码类的离线开发 【类似于MR】
  • Spark SQL:类似于Hive,基于SQL进行开发,SQL会转换为SparkCore离线程序 【类似Hive】
  • Spark Streaming:基于SparkCore之上构建了准实时的计算模块 【淘汰了】
  • Struct Streaming:基于SparkSQL之上构建了结构化实时计算模块 【替代了Spark Streaming】
  • Spark ML lib:机器学习算法库,提供各种机器学习算法工具,可以基于SparkCore或者SparkSQL实现开发。

三、spark运行有五种模式

本地模式:

  • Local:一般用于做测试,验证代码逻辑,不是分布式运行,只会启动1个进程来运行所有任务。
    集群模式:
  • Cluster:一般用于生产环境,用于实现PySpark程序的分布式的运行
  • Standalone:Spark自带的分布式资源平台,功能类似于YARN
  • YARN:Spark on YARN,将Spark程序提交给YARN来运行,工作中主要使用的模式
  • Mesos:类似于YARN,国外见得多,国内基本见不到
  • K8s:基于分布式容器的资源管理平台,运维层面的工具。
    解释:Spark是一个分布式的分析引擎,所以它部署的时候是分布式的,有用主节点,从节点这些内容。Standalone使用的是Spark自带的分布式资源平台,但是假如一个公司已经有Yarn分析平台了,就没必要再搭建spark分析平台,浪费资源。

四、spark 为什么比MR快?

  • spark支持有向无环图、mr不支持有向无环图
  • spark是基于内存的计算引擎、MR是基于磁盘的计算引擎
  • spark执行Task任务是线程级任务、MR执行Task任务是进程级任务

五、rdd五大特性

  • 每个RDD都由一系列的分区构成
  • RDD的转换操作本质上是对RDD所有分区的并行转换
  • 每个RDD都会保存与其他RDD之间的依赖关系:血链机制或者血脉机制
  • 可选的,如果是二元组【KV】类型的RDD,在Shuffle过程中可以自定义分区器。
  • 可选的,Spark程序运行时,Task的分配可以指定实现本地优先计算:最优计算位置.

六、spark中哪些是shuffle算子,哪些是触发算子,哪些是转换算子

触发算子
count foreach saveAsTextFile first take
collect reduce top takeOrdered
collectAsMap foreachParition max min mean sum
转换算子
map flatMap filter union distinct groupByKey sortByKey sortBy reduceByKey
repartition coalesce keys values mapValues
join fullOuterJoin leftOuterJoin rightOuterJoin
mapPartitions

七、哪些算子可以触发shuffle过程

groupByKey sortByKey sortBy reduceByKey repartition
coalesce(不一定,具体可自查一下) join( fullOuterJoin / leftOuterJoin / rightOuterJoin)

八、创建rdd的两种方式

方式一:并行化一个已存在的集合
方式二:读取外部共享存储系统


http://www.kler.cn/a/376264.html

相关文章:

  • Android @JvmOverloads
  • HTML 语法规范——代码注释、缩进与格式、标签与属性、字符编码等
  • 履带式排爆演习训练机器人技术详解
  • 20.04Ubuntu搭建Vscode
  • 系统安全架构的深度解析与实践:Java代码实现
  • Python毕业设计选题:基于Python的无人超市管理系统-flask+vue
  • 基于YOLO11/v10/v8/v5深度学习的农作物类别检测与识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
  • Spring Cloud Config快速入门Demo
  • 河北冠益荣信科技公司洞庭变电站工程低压备自投装置的应用
  • Android -- (静态广播) APP 监听U盘挂载
  • Android Jetpack Compose 现有Java老项目集成使用compose开发
  • 深入解析最小二乘法:原理、应用与局限
  • Hbuilder html5+沉浸式状态栏
  • RHCE的学习(7)
  • 漫途焊机安全生产监管方案,提升安全生产管理水平!
  • 深度学习速通系列:在bert的基础上使用上下文窗口处理超长文本
  • GPTSearch 它来了
  • flutter ios ffi 调试 .a文件 debug可以 release 不行
  • java base64转图片
  • 嵌入式Linux入门具备:C语言基础与基本驱动学习(1):Linux原生IO基础
  • 【设计模式系列】总览
  • [瑞吉外卖]-09数据库优化
  • 【开源免费】基于SpringBoot+Vue.JS网上购物商城(JAVA毕业设计)
  • PHP文件包含漏洞
  • elf格式分析和动态库的链接过程
  • Java - 免费图文识别_Java_免费_图片转文字_文字识别_spring ai_spring ai alibaba