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

大数据面试题小汇总

1、hive和hbase的区别

Hive: hive是hadoop数据仓库管理工具,严格来说,不是数据库,本身是不存储数据和处理数据的,其依赖于HDFS存储数据,依赖于MapReducer进行数据处理 既可以计算又可以储存 hive中的计算是由mapreduce任务运行的,执行较慢,不适合做实时

HBase:

1.HBase是一种分布式、可扩展、支持海量数据存储的NOSQL数据库

2.HBase主要适用于海量数据的实时数据处理(随机读写)

3.由于HDFS不支持随机读写,而HBase正是为此而诞生的,弥补了HDFS的不可随机读写。

区别:

1.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。总的来说,hive是适用于离线数据的批处理,hbase是适用于实时数据的处理。

2.Hive本身不存储和计算数据,它完全依赖于HDFS存储数据和MapReduce处理数据,Hive中的表纯逻辑。

3.hbase是物理表,不是逻辑表,提供一个超大的内存hash表,搜索引擎通过它来存储索引,方便查询操作。

4.由于HDFS的不可随机读写,hive是不支持随机写操作,而hbase支持随机写入操作。 5.HBase只支持简单的键查询,不支持复杂的条件查询

2、正常工作的hadoop集群中hadoop都需要启动哪些进程,作用分别是什么

HDFS : Namenode Datanode SecondaryNamenode(单机模式中有 集群模式中是在 从机器中)

namenode:负责hdfs集群的管理,管理其他的datanode节点,记录各个块的信息,处理客户端的请求,数据存放在内存中

datanode: 数据存储,数据节点,真正存储数据的地方

secondaryNamenode:小秘,执行fsimage和edtis的合成操作

Yarn: ResourceManager NodeManager JobHistoryServer

resourceManager:负责管理集群资源和调度作业,分配计算资源给各个任务。 nodeManager: 在每个工作节点上运行,监控节点的健康状况,执行任务,并报告资源使用情况给resourceManager

Zookeeper : 管理resourceManager和 nameNode的选举,确保 resourceManager和 active nameNode的高可用性。

补充:zookeeper的选举机制:

https://blog.csdn.net/qq_62984376/article/details/142335874?spm=1001.2014.3001.5501

3、hadoop数据倾斜以及解决办法

(hadoop数据倾斜其实就是mapreduce 和 hive 的数据倾斜)

数据倾斜最直观的表现就是任务长时间维持在 99%等 大量的key被分配到了同一个任务上,导致一些人累死一些人闲死的情况

要注意: 一些sql本身就带有数据倾斜 表中有大量的空值 (Null) 也可能会造成数据倾斜

解决办法:

1) 开启负载均衡 set hive.map.aggr=true set hive.groupby.skewindata=true

2) 自定义分区

3) 使用 Combine 聚合并精简数据

4) 尽可能的在 map 端就进行 join数据关联

5) 少使用 count distinct ,而用 union all 替代

6) 处理一些不可拆分的大文件时也会数据倾斜,可以先在hdfs上进行解压后再操作

4、简单说一下yarn的几种调度器

 
 

1、FIFO Scheduler(FIFO调度器) 先进先出 先执行好 job1 再去执行 job2

2、Capacity Scheduler(容量调度器,apache版本默认使用的调度器) 专门留了一部分资源给小任务,可以在执行job1的同时,不会阻塞job2的执行

3、Fair Scheduler(公平调度器,CDH版本的hadoop默认使用的调度器) 公平调度器 所有运行的应用公平分配资源

补充:

 
 

Yarn的工作原理: YARN的工作原理可以简单概括为资源管理和作业调度。 当一个应用程序提交到YARN集群时,ResourceManager会为该应用程序分配一个唯一的应用程序ID,并为其启动一个对应的ApplicationMaster。ApplicationMaster负责与ResourceManager协商资源,并与NodeManager协调容器的启动、监控和状态报告


http://www.kler.cn/a/373792.html

相关文章:

  • 【论文复现】短期电力负荷
  • Redis 事务 问题
  • 传智杯 第六届-复赛-C
  • 乘云而上,OceanBase再越山峰
  • 为什么要使用Golang以及如何入门
  • Zookeeper 对于 Kafka 的作用是什么?
  • 【51单片机】中断定时器原理解析 + 使用
  • 论文阅读-A gated cross-domain collaborative network for underwater object detection
  • 【热门主题】000015 大数据治理:开启数据价值新纪元
  • DEVOPS: 认证与调度
  • muduo库TcpConnection类源码解析——链接管理
  • 数学建模学习(130):使用Python基于模糊TOPSIS算法的多准则决策分析
  • 聆听用户声音的3个方法,挖掘客户真实潜在需求
  • 24年10月Google Play政策更新通知
  • 字符串逆序(c语言)
  • 在Android开发中实现静默拍视频
  • 数智时代:以低代码开发为催化剂 加速中国制造转型升级
  • 适配器模式适用的场景
  • PostgreSQL用load语句加载插件
  • Spring 设计模式之装饰器模式
  • Vue组件学习 | 八、 v-bind指令
  • Spring Boot 集成 RabbitMQ
  • linux上使用scp从windows往linux传数据
  • 易优cms webshell
  • STM32 第17章 EXIT--外部中断/事件控制器
  • 【福建医科大学附属第一医院-注册安全分析报告】