个人数仓开发面试题记录

一.广州电商公司

1.简单自我介绍

2.介绍下之前的公司离线数仓项目

3.mysql和hive区别?

4.sql的执行顺序?

5.hive的优化

6.说下你之前公司来,你的技能层次在每个公司?你怎么评价你的技能?

7.你的之前业务主要是做什么?我说了项目分工

8.数仓的分层,分几层?按照数据域分层,问几层?

9.sql优化一般怎么优化的?

10.非本专业怎么进行后续学习的?

11.系统函数怎么用的?

12.数据迁移怎么做的?

13.数据可视化界面怎么做的?bi你们讲解是谁负责

14.有用过dws层直接对接bi嘛?mysql数据库有用吗?为啥对接bi?

3.mysql和hive区别?

hive不是数据库,除了sql语法有点像,其他都不一样

hive mysql

存储位置 hdfs 本地磁盘

计算引擎 分布式mr、tez、spark 自己的单机的

计算效率 数据量大,快 小,快

数据更新 适合分析(select) 增删改查

5.hive的优化

group by

1)map端预聚合 (预聚合的配置参数为hive.map.aggr,默认值true)

2)数据倾斜时进行负载均衡处理

**通过将参数hive.groupby.skewindata(默认false)设置为true,那么在进行group by时,会启动两个MR job。**第一个job会将map端数据随机输入reducer,每个reducer做部分聚合操作,相同的group by key会分布在不同的reducer中。第二个job再将前面预处理过的数据按key聚合并输出结果,这样就起到了均衡的效果。

3)count(distinct)

当数据量大时,效率会很低,尤其是数据倾斜的时候。

可以通过group by代替count(distinct)使用。

4)本地模式

对于处理小数据量的任务,我们不需要通过集群模式进行处理(因为为该任务实际触发的job执行等开销可能比实际任务的执行时间还要长),Hive可以通过本地模式在单台机器上处理所有的任务。

复制代码
 set hive.exec.mode.local.auto=true;

------------------------------------------------------------

2)map Join: 大小表join,避免shuffle

3)SMB Join: sort merge bucket join

大表 join 大表:

分桶表,分桶字段 = 关联字段 = 桶排序 字段

分桶的数量,成比例

4)分区、分桶

分区:避免全表扫描

分桶:做SMB的时候, 抽样key判断倾斜

5)压缩 : snappy

6)存储格式 : 列式 orc

id name age

1 zs 18

2 ls 19

行式 1 zs 18 2 ls 19

列式 1 2 zs ls 18 19

查询效率高

存储结构更紧密,压缩后更小

select name from A

行式: text、sequnencefile

列式: orc、parquet

orc为hive而生的,跟hive性能更强

parquet兼容性更好

7)调整reduce的数量

指定参数 ,默认 -1 表示禁用

估算机制: 数据量/ 每个Reducer处理上限(默认256M)

特殊语法: orderby 、 count(distinct )

优先级: 特殊语法 > 参数 > 估算机制

8)谓词下推 默认开启

select xx from A join B on A.id=B.id and A.id>10

select xx from A join B on A.id=B.id where A.id>10

经过谓词下推,第二种也会先 过滤,再join,效果一样

9)并行执行 默认开启

10)开启cbo 默认开启

11)合并小文件

危害:

解决:

JVM重用

CombineHiveInputFormat

merge功能: 结束后,再另外启动一个job来合并小文件于16m的文件

小于 16m ==》 256m

map-only:默认开启

map-reduce:默认关闭,需要开启

12)使用多引擎

mr : 跑 年、月 时间跨度大、数据量大的指标

tez : 现在没用

spark : 跑日常天指标

set hive.execution.enginee = mr;

sql1;

set hive.execution.enginee=spark;

sql2;

相关推荐
微三云马玮均—GEO源码系统 私有化部署5 小时前
消费返物业费:消费+服务趋势的必然产物!
大数据·人工智能·物联网·区块链·生活
workflower7 小时前
AI system product quality model
大数据·人工智能·机器学习·云计算·无人机
yl45307 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python
xianghongtao01167 小时前
麦肯锡2026技术趋势02_智能体AI_研究解读
大数据·人工智能
数字化顾问7 小时前
(138页PPT)四大咨询矿业集团流程梳理与优化报告(附下载方式)
大数据·人工智能
yukai080089 小时前
【203篇系列】056 我的Agent系统
大数据·elasticsearch·搜索引擎
yuanxi20011 小时前
青海共和百万千瓦光伏光热项目并网发电:大客户销售如何用价值力抓住能源大单
大数据·职场和发展·能源·创业创新·学习方法
W***259213 小时前
2026深度解读:Work Agent长程任务的执行机制与落地能力
大数据·人工智能
卷毛迷你猪13 小时前
快速实验篇(B07 )Session 会话化与序列
大数据·hive·hadoop
卷毛迷你猪14 小时前
快速实验篇(B08)搜索词分析实战
大数据·hive·hadoop