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是通过硬盘来交互。

相关推荐
深思慎考6 小时前
ElasticSearch与Kibana 入门指南(7.x版本)
大数据·elasticsearch·jenkins
银行数字化转型导师坚鹏7 小时前
如何设计优秀的企业微信私域运营实战培训方案
大数据·python·企业微信
悠闲蜗牛�7 小时前
人工智能时代下的全栈开发:整合AI、大数据与云原生的实践策略
大数据·人工智能·云原生
Amy187021118237 小时前
分布式光纤传感:照亮每一个角落的“温度感知神经”
分布式
ml魔力信息9 小时前
活体检测与防伪技术的安全与隐私分析
大数据·人工智能·安全·隐私保护·生物识别·活体检测
数据要素X10 小时前
寻梦数据空间 | 架构篇:从概念到落地的技术实践与突破性创新
大数据·运维·数据仓库·微服务·数据治理·数据中台·可信数据空间
玉石观沧海10 小时前
高压变频器故障代码解析F67 F68
运维·经验分享·笔记·分布式·深度学习
小马爱打代码11 小时前
分布式锁:原理算法和使用建议
分布式·算法
IT学长编程11 小时前
计算机毕业设计 基于EChants的海洋气象数据可视化平台设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·hadoop·python·毕业设计·课程设计·毕业论文·海洋气象数据可视化平台
呆呆小金人11 小时前
SQL入门: HAVING用法全解析
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师