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

相关推荐
一枕槐安4876 小时前
少样本提示(Few-shot)在业务场景的落地实践
大数据·人工智能·意图分类·mmr多样性·knn检索·动态示例选择
roman_日积跬步-终至千里7 小时前
零售与数仓(二):从经营问题到可信证据,数仓怎样建设?
大数据·零售
大大大大晴天11 小时前
每天认识一个组件:Apache Pulsar
大数据
极限挑战哥11 小时前
共享电单车联营平台分账架构实践:二清合规与自动分账零人工方案
java·大数据·人工智能·微信小程序·架构·微信公众平台
QXWZ_IA11 小时前
公路边坡裂缝的自动化监测布设
大数据·人工智能·自动化
meiying883812 小时前
多快递公司快递单号批量查询接口怎么对接?Python 聚合查询实现
java·大数据·python
SelectDB12 小时前
Doris 异步物化视图实战:与 Snowflake MV / Dynamic Tables 分层建模对照
大数据·数据库·云原生
张张123y13 小时前
后端第十六课:Multi-Agent 多智能体(让多个 Agent 分工协作)
大数据·数据库·人工智能·python·deepseek·dsh·agent 框架
todoitbo13 小时前
MongoDB迁移之后,Spring Data 和 Hibernate 各自接哪类请求
大数据·数据库·mongodb·spring·hibernate·金仓数据库
大大大大晴天️14 小时前
从 Prompt 到 Tool Calling:AI Agent 如何稳定连接程序世界
大数据·ai-agent