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

Spark面试题

一、groupByKey和reduceByKey的区别

groupByKey仅仅只有分组功能,reduceByKey是先预聚合在shuffle在最终聚合,减少了网络io传输

二、关于数仓方面

数仓建设整体流程是什么?你参与哪些环节?

        提出需求 需求分析 模型设计【概念模型、逻辑模型】 实施【ETL、MAPPING、写SQL】测试 上线

        参与了实施【ETL、MAPPING、写SQL】测试也就是写sql

        在数据仓库(数仓)建设的语境中,Mapping(映射) 是指明确源系统数据与目标数据仓库模型中数据之间的对应关系

具体来说,它要定义清楚:

        源系统的哪些表、哪些字段,对应目标数仓模型里的哪个维度表、哪个事实表,以及哪个字段。

        数据在从源系统向数仓转移过程中,需要进行怎样的转换(比如数据类型转换、业务规则转换等),才能适配数仓模型的要求。

        简单讲,Mapping 就像一份 “数据搬运与改造的说明书”,指导 ETL(提取、转换、加载)过程中数据如何从源头准确、合规地进入数仓。

三、SparkContext 和 SparkSession 有什么区别?

SparkContext:整个应用的上下文,控制应用的生命周期。

SparkSession:是在Spark2.0中引入的,它使开发人员可以轻松的使用它,这样我们就不用担心不同的上下文,并简化了对不同上下文的访问。通过访问SparkSession,我们可以自动访问SparkContext

四、Spark是怎么做内存计算的?DAG的作用?Stage阶段划分的作用?

根据宽窄依赖关系划分阶段时,每遇到一个宽依赖就划分,这样就可以保证每一个阶段内都是窄依赖。

五、Spark为什么比MapReduce快

Spark有更多的算子,Spark可以基于内存迭代,MapReduce是通过硬盘来交互。

http://www.xdnf.cn/news/18710.html

相关文章:

  • Redis面试精讲 Day 30:Redis面试真题解析与答题技巧
  • 南京魔数团:AR技术引领远程协作新纪元
  • Java网络编程:从入门到精通
  • STM32之DMA详解
  • 算法题记录01:
  • 8月25日
  • 专题:2025人工智能2.0智能体驱动ERP、生成式AI经济现状落地报告|附400+份报告PDF、原数据表汇总下载
  • [论文阅读]RQ-RAG: Learning to Refine Queries for Retrieval Augmented Generation
  • k8s的etcd备份脚本
  • AR技术赋能农业机械智能运维
  • 电机控制::基于编码器的速度计算与滤波::RLS
  • 【C++】第二十六节—C++11(中) | 右值引用和移动语义(续集)+lambda
  • Linux_用 `ps` 按进程名过滤线程,以及用 `pkill` 按进程名安全杀进程
  • 机器学习-大语言模型Finetuning vs. Prompting
  • 大型语言模型基准测试综述《A Survey on Large Language Model Benchmarks.pdf》核心内容总结
  • 京东前端社招面经
  • 多维度指标交叉计算查询方案
  • 【芯片后端设计的灵魂:Placement的作用与重要性】
  • 6、RocketMQ消息积压问题如何解决
  • Python爬虫实战:Selenium模拟操作爬取马蜂窝旅游攻略
  • 数据挖掘 6.1 其他降维方法(不是很重要)
  • redis----list详解
  • 深度学习入门第一课——神经网络实现手写数字识别
  • 读《精益数据分析》:A/B测试与多变量测试
  • 【栈 - LeetCode】739.每日温度
  • [Java恶补day51] 46. 全排列
  • 无人机芯片休眠模式解析
  • 关于传统的JavaWeb(Servlet+Mybatis)项目部署Tomcat后的跨域问题解决方案
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(19):文法复习+单词第7回1
  • 基于知识图谱的装备健康智能维护系统KGPHMAgent