hs面试总结:
1 服务器传输命令
-- scp -r ./** node1:`pwd` -- 远程文件拷贝程序,是secure copy program的的缩写 -r (递归)
2. 查看服务器运行情况以及cpu,运用哪个命令
top:查看服务器各个进程情况 df -h:linux查看系统内存(硬盘)
3.搭建hadoop生态圈,hadoop的搭建,以及cdh的维护 搭建.hadoop环境集群是个什么样的配比(资源,内存,cpu),以及搭建的台数
1. 物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,单台报价4W出头,
惠普品牌。⼀般物理机寿命5年左右。
2. 云主机,以阿⾥云为例,差不多相同配置,每年5W服务器配置:内存:128,40线程,20核,8T机械,2T固态
服务器台数:20多台
总的资源:2T内存,400核。
3. 项目中对spark的使用情况
spark 代码:适用于表关联较少,但是处理逻辑相对复杂的的情况. 而且spark相对于hive来讲,速度更快
在项目中,使用spark对ods层的数据进行清洗,统一字段,对敏感数据加密。然后将数据保存到dwd层,主要用了两种方式 spark dsl 和 spark sql。
4.聊下对etl的理解
ETL的全称是抽取(Extract)、清洗(Cleaning)、转换(Transform)、装载(Load)而ETL要做的事情,就是按照数据仓库的规则和要求,对各个源系统的数据进行加工和整合,并且将各个源系统的数据存储到数据仓库中。
- 抽取和清洗
这一环节的主要工作是获取源系统的数据,并按照数据仓库的规则,进行数据加工,对不完整的数据、错误的数据、重复的数据进行处理,最终提取出我们想要的数据。
- 数据转换
一是数据不一致。具体包括数据类型不一致、数据格式不一致、编码不一致等。
二是数据粒度的转换。源系统和数据仓库对于业务的抽象粒度不一致
- 数据加载
一是作业加载方式:全量加载还是增加更新。
二是任务触发方式:时间触发还是事件触发。如果是时间触发的话,还需要确定任务的上下游关系和依赖触发关系。
三是调度工具:采用什么调度工具,才能满足上面的需求呢
5. 是否参与过数仓建模的调研
6 ..对于宽表,维度表的数据倾斜的处理
7..hive的row-
key设计,设计原理是啥
对key进行分组排序,打乱等,分区的设计逻辑,防止数据的丢失,row-key会影响到存储情况,对rowkey设计的原理以及逻辑思维,想法
数据(结构化,非结构化)抽取——转化为结构化数据——对表有指定的id,关联主键——hive数仓分层(ods数据结构,dw数据结构)拼接到设计的数仓层,加上分区时间,加上指定的数据值