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

阿里大数据面试题集锦及参考答案(3万字长文:持续更新)

目录

MapReduce Shuffle为什么要将数据写入环形缓冲区

MapReduce Shuffle为什么容易发生数据倾斜

Hadoop HA当一个Namenode挂掉,会有数据丢失吗

数据倾斜发生的位置

Combiner了解吗?

什么情况下不能用Combiner?

Sum、Count、Count(distinct)哪些能用、哪些不能用Combiner?

从0-1建设数仓,你怎么做?

开窗函数用过哪些?

row_number()在MR怎么发生的?

Spark和MR都计算超过内存的数据,谁更快?

数仓建设规范,依据?

rank denserank row number 区别

Java的String可以继承吗?

Java的抽象类和接口有什么区别和联系?

接口中的方法可以定义?

Python的*args和**kwargs有什么区别?

了解机器学习算法吗?Boosting和Adaboost之类的?

那你平常都会用什么模型?

那你遇到过过拟合现象吗?如何解决?

数据库底层索引的优劣势?

我现在有一张表把所有字段都加索引了,这样好吗?

存储过程和视图分别有?

视图字段是单独存储的吗?

MR原理用你自己话简单描述。

MR中数据倾斜的产生情况,你如何解决?

一个复杂的SQL中发生了数据倾斜,你怎么确定是哪个group by还是join发生的?

count(distinct)怎么优化?

星型模型和雪花模型的区别?

项目中你遇到的记忆比较深的问题是什么?怎么解决的?

拉链表使用了吗?

为什么选用Spark on YARN这种运行模式。

什么是Hadoop HA架构

hadoop ha当一个namenode挂掉。会有数据丢失吗。如果有,有什么解决方法。

Doris查询返回速度怎样?

Doris数据库优势和你对Doris数据库的理解?

堆排序的思想是什么呢?

平常的时候你用堆排序解决什么问题呢?

讲一下Flume的原理

Kafka和Spark Streaming怎么组合的

Kafka作为消息源

Spark Streaming处理数据

结果输出

Hive和HBase的区别

Apache Hive

Apache HBase

优劣对比

Spark和Hadoop区别

Apache Spark

Hadoop

什么时候发生fullGC

雪花模型和星形模型的理解以及优劣对比

雪花模型

星形模型

优劣对比

MR数据处理过程

MR的数据倾斜怎么产生以及解决方法

数据倾斜产生原因

解决方法

你对大模型了解多少?

谈谈你对大模型的理解?

GPT的原理你能聊聊吗?

MySQL为什么选用B+树

能否估计下B+树做索引的整个表的大小

MR、Spark的shuffle有什么不同

宽依赖是什么

什么情况下需要划分宽依赖,哪些算者,groupby是行动算子吗

MR里join怎么做(说的Spark的join)

shuffle-join和sort-join使用场景有什么不同

Spark Context工作时都做了哪些事

宽窄依赖的理解,为什么要分宽窄依赖

哪些算子走宽依赖,哪些走窄依赖

一千万个整数,在5MB内存里排序

APP数据分析,昨天日活用户数发生骤降,分析异常

SQL,选出每个班级每个科目最高成绩的那个学生

在10亿个整数中找出不重复的整数

用Java代码实现两个链表有没有交集,判断链表是否有环


MapReduce Shuffle为什么要将数据写入环形缓冲区

在MapReduce的Shuffle阶段,数据处理会经历多个步骤,包括排序、分区、合并和传输。在这个过程中,数据首先由Mapper生成,然后需要被分区并发送到对应的Reducer上进行处理。为了提高效率和减少磁盘I/O操作,MapReduce采用了内存中的环形缓冲区来暂存Mapper产生的中间结果。

环形缓冲区的主要优势在于它能够高效地利用内存空间。它是一个循环使用的内存块,当数据填满后,新来的数据会覆盖最早进入缓冲区的数据,除非这些数据已经被溢写到磁盘上。这种设计使得系统可以持续不断地接收和处理数据,而不需要频繁地执行昂贵的磁盘读写操作。

此外,环形缓冲区还支持对数据进行排序和分区。一旦缓冲区达到一定阈值(通常是64MB),就会触发溢写操作,即将数据溢写到磁盘上的临时文件中,并在此过程中进行排序和分区。这一步骤对于后续的Shuffle过程至关重要,因为它确保了Reducer接收到的数据是有序且已经按照分区规则进行了分类。

http://www.lryc.cn/news/402465.html

相关文章:

  • springboot 配置 spring data redis
  • Numpy基础用法
  • 设计模式--享元模式
  • 可视化剪辑,账号矩阵,视频分发,聚合私信一体化营销工具 源----代码开发部署方案
  • CCF-CSP认证考试 202406-2 矩阵重塑(其二) 100分题解
  • 初阶数据结构的实现1 顺序表和链表
  • 破解反爬虫策略 /_guard/auto.js(一) 原理
  • 40.简易频率计(基于等精度测量法)(3)
  • 关于Centos停更yum无法使用的解决方案
  • 插画感言:成都亚恒丰创教育科技有限公司
  • 【算法】数组中的第K个最大元素
  • Perl 语言的特点
  • NLP教程:1 词袋模型和TFIDF模型
  • 【开源 Mac 工具推荐之 2】洛雪音乐(lx-music-desktop):免费良心的音乐平台
  • AMEYA360:思瑞浦推出汽车级理想二极管ORing控制器TPS65R01Q
  • 简约的悬浮动态特效404单页源HTML码
  • Golang 创建 Excel 文件
  • 探索GitHub上的两个革命性开源项目
  • SpringBoot框架学习笔记(三):Lombok 和 Spring Initailizr
  • 【ASP.NET网站传值问题】“object”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“object”类型的变量等
  • Stateflow中的状态转换表
  • 结合Redis解决接口幂等性问题
  • 2024算力基础设施安全架构设计与思考(免费下载)
  • ExoPlayer架构详解与源码分析(15)——Renderer
  • 网络安全-等级保护制度介绍
  • 【介绍下大数据组件之Storm】
  • React Hook 总结(React 萌新升级打怪中...)
  • Typora 1.5.8 版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取
  • mac docker no space left on device
  • 单片机主控的基本电路