k8s 面试题总结(一)

HDFS的读写流程

写流程

  1. 客户端请求创建文件
  2. NameNode收到创建文件的请求后,会在元数据中记录新文件的信息,并返回一个输出流对象给客户端
  3. 当客户端开始写数据时,输出流对象会与NameNode通信,获取DataNodes列表,从而知道写在哪些DataNodes上
  4. 数据传输至DataNode后,每个DataNode会将确认信息返回到客户端
  5. 当所有数据都被写入后,NameNode将此文件标记为已完成

读流程

  1. 客户端调用FileSystem对象的open方法打开一个文件
  2. 客户端查询NameNode来获得文件开头部分数据块的位置信息
  3. 直接从DataNode读取数据
  4. 重复步骤2和3

HIVE的调优

  1. 使用分区裁剪,可以先减少搜索的数据量,然后再关联表
  2. 谓词下推,提前执行过滤,减少map到reduce的传输数据
  3. 分区表,根据常用的查询维度对数据进行分区
  4. 分桶表:对需要频繁执行JOIN操作的数据集,可通过哈希分桶来组织数据,加速JOIN过程
  5. 根据需要调整map和reduce的数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值