- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
2025年大数据面试题及答案
1.请描述HDFS的副本放置策略,并说明其设计初衷。
HDFS默认采用三副本策略,具体放置逻辑为:第一个副本存储在客户端所在节点(若客户端不在集群内则随机选择节点),第二个副本存储在与第一个副本不同的机架的随机节点,第三个副本与第二个副本同机架但不同节点。若副本数超过3,后续副本随机分布在集群中。该策略通过机架感知实现:跨机架副本提升数据可靠性(避免单机架故障导致数据丢失),同机架副本降低跨机架流量(读取时优先访问同机架副本,减少网络开销),平衡了数据冗余与访问效率。实际生产中可通过dfs.replication.interrack.consideration参数调整跨机架策略,例如冷数据可配置两副本以节省存储成本。
2.SparkRDD的宽窄依赖如何区分?对任务调度有何影响?
宽依赖指父RDD的一个分区数据被多个子RDD分区依赖(如groupByKey、reduceByKey),此时需要Shuffle操作;窄依赖指父RDD的一个分区仅被一个子RDD分区依赖(如map、filter)。宽窄依赖的划分直接影响Stage的划分:窄依赖的RDD转换可合并到同一个Stage中进行流水线计算,宽依赖则触发新Stage的创建(需等待前Stage所有任务完成并将数据持久化到磁盘后,下一Stage才能启动)。因此,优化Shuffle操作(减少宽依赖)是提升Spark作业性能的关键,例如使用reduceByKey替代groupByKey(前者在Map端预聚合,减少Shuffle数据量)。
3.对比Flink的事件时间(EventTime)与处理时间(ProcessingTime),并说明水印(Watermark)的作用。
事件时间基于数据本身携带的时间戳(如日志提供时间),能反映业务真实时序,适用于需要准确时间窗口计算的场景(如用户行为分析);处理时间基于数据被系统处理的时间(如Flink算子接收到数据的时间),计算延迟低但受系统负载影响大(可能出现乱序)。水印是事件时间下衡量数据完整性的机制,通过“当前最大事件时间-延迟阈值”提供水印时间戳。当水印超过窗口结束时间时,Flink认为该窗口数据已完整(允许一定延迟),触发计算。例如,设置5秒延迟的水印,允许事件时间晚于水印5秒的数据仍被纳入窗口,避免因网络延迟导致的窗口提前关闭。
4.设计数据仓库时,如何处理缓慢变化维(SCD)?举例说明SCD2的实现方式。
缓慢变化维指维度属性随时间发生非频繁变化(如用户地址修改),常见处理方式包括:
-SCD1:覆盖旧值(仅保留最新状态,丢失历史信息);
-SCD2:新增记录(保留所有历史版本,通过生效/失效时间戳区分);
-SCD3:新增字段(记录最近几次变化,如“原地址”“新地址”)。
SCD2的典型实现:在维度表中增加start_date(生效时间)和end_date(失效时间)字段,初始记录end_date设为9999-12-31。当属性变化时,将原记录的end_date更新为变化前的时间,插入新记录(start_date为变化时间,end_date为9999-12-31)。例如用户2023-01-01的地址是“A”,2024-02-01修改为“B”,则原记录end_date更新为2024-01-31,新增记录start_date为2024-02-01,end_date为9999-12-31。查询时通过时间戳关联维度表,可获取指定时间点的维度状态。
5.写出计算用户7日留存率的SQL语句(假设用户行为表user_action,包含user_id、login_date字段)。
留存率定义为:某日新增用户中,在之后第N日活跃的用户占比。以计算2024-01-01新增用户的7日留存率为例:
```sql
WITHnew_usersAS(
SELECTuser_id
FROMuser_action
WHERElogin_date=2024-01-01
GROUPBYuser_id--去重当日重复登录
),
retention_usersAS(
SELECTn.user_id
FROMnew_usersn
JOINuser_actiona
ONn.user_id=a.user_id
ANDa.login_dateBETWEEN2024-01-01AND2024-01-08--7日内活跃(包括当日)
WHEREa.login_date=2024-01-08--第7日活跃(若要求严格第7日,非7日内)
)
您可能关注的文档
最近下载
- 轴类零件图纸.doc VIP
- 曲臂车高空作业施工方案.docx VIP
- 外研版英语(三起点)六年级上册 Module4 大单元学历案教案 教学设计附作业设计(基于新课标教学评一体化).docx VIP
- 2025年六安社区考试试题及答案.doc VIP
- T_CSBZ 004-2024 石材护理技术规范.docx VIP
- 学校建设项目施工全流程指南.docx VIP
- 《航空动力装置》模拟试卷A..doc VIP
- 2026年鄂尔多斯职业学院单招综合素质考试题库必考题.docx VIP
- 第五单元习作:生活万花筒(范文点评)-2023-2024学年四年级语文上册单元作文能力提升(统编版).docx VIP
- JIS B2220-2004 英文版 钢制管法兰(日文).doc VIP
 原创力文档
原创力文档 
                        

文档评论(0)