个人数仓开发面试题记录

一.广州电商公司

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;

相关推荐
andy_haiying23 分钟前
深圳网站建设公司推荐哪家好?2026年5月官网制作服务商综合评测
大数据·人工智能
zxrhhm1 小时前
PostgreSQL 大规模随机数据生成完整指南
大数据·数据库·postgresql
飞飞传输1 小时前
数字化科研提速关键 构建安全可控一体化跨网数据传输体系
大数据·运维·安全
Elastic 中国社区官方博客1 小时前
Elastic 的 AI agent skills
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索
陕西字符2 小时前
2026 西安小微企业地图与 AI 问答排名优化:专业技术指南与落地方案
大数据·人工智能
MetrixAeroCore2 小时前
车规级国际物联卡是什么?车载物联网硬件选型与行业标准解析
大数据·物联网
189228048612 小时前
H27QCG8T2ELR-BCF海力士H27QCG8UDBIR-BCB
大数据·服务器·人工智能·科技·缓存
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年5月10日
大数据·人工智能·python·信息可视化·自然语言处理
lizhihai_992 小时前
股市学习心得-智能体顶层设计文件收益供应链
大数据·人工智能·学习
AI先驱体验官3 小时前
臻灵短剧平台 · 用户操作手册
大数据·人工智能·深度学习·重构·aigc