1、datanode在什么情况下不会备份
强制关闭或非正常断电时
2、请列出你所知道的hadoop调度器,并简要说明其工作方法?
比较流行的三种调度器有:默认调度器FIFO,计算能力调度器CapacityScheduler,公平调度器Fair Scheduler
默认调度器FIFO
hadoop中默认的调度器,采用先进先出的原则
计算能力调度器CapacityScheduler
选择占用资源小,优先级高的先执行
公平调度器FairScheduler
同一队列中的作业公平共享队列中所有资源
3、Hadoop安装在什么目录下?
Cloudera和Apache使用相同的目录结构,Hadoop被安装在cdusrlibhadoop-0.20。
4、当你输入hadoopfsck 造成“connection refused java exception’”时,系统究竟发生了什么?
这意味着Namenode没有运行在你的VM之上。
5、spark调优
1、 避免创建重复RDD
2、 尽可能复用同一个RDD
3、 对多次使用的RDD进行持久化
4、 避免使用shuffle算子
5、 使用map-side预聚合shuffle操作
6、 使用高性能的算子
7、 广播大变量
8、 使用Kryo序列化
9、 优化数据结构
6、RAM的溢出因子是?
溢出因子(Spill factor)是临时文件中储存文件的大小,也就是Hadoop-temp目录。
7、hive sql知识点
DML 数据操纵语言
DDL 数据定义语言,用语定义和管理数据库中的对象
8、为什么hive的分区
为了避免select扫描全表,hive提出了分区表partitionedby的概念,给文件归类打上表示
静态分区:
单分区建表
create table par_tab(name string,nation string) partitioned by (sex string) row format delimited fields terminated by ‘,’;
加载:load data local inpath ‘/hdfs/…’ into table par_tab partition(sex=‘man’)
在创建分区表的时候,系统会在hive数据仓库默认路径/user/hive/warehouse/创建目录,在创建sex=man的目录,最后在分区名下存放实际的数据文件
多分区建表
create table par_tab(name string,nation string) partitioned by (sex string,dt string) row format delimited fields terminated by ',';
load data local inpath '/hdfs/...' into table par_tab partition(sex='man',dt="2019-08-08")
当我们查询所有的man时候,man一下的所有日期下的数据都会被查出来;如果只查询日期分区,那么hive会对路径进行修剪,从而只扫描日期分区,性别分区不做过滤
动态分区
动态分区与静态分区区别就是不指定分区目录,有系统自己选择
开启动态分区 set hive.exec.dynamic.partition=true
9、当前日志采样格式为
a , b , c , d
b , b , f , e
a , a , c , f
10、Namenode、Job tracker和task tracker的端口号是?
Namenode,70;Job tracker,30;Task tracker,60。