个人数仓开发面试题记录

一.广州电商公司

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;

相关推荐
大大大大晴天15 分钟前
每天认识一个组件:数据治理Apache Atlas
大数据
数字新视界32 分钟前
2026模块化机房选型指南:行业市场发展趋势、占有率与竞争梯队分析报告解析
大数据·人工智能·物联网·数据中心·微模块机房·模块化机房·冷通道
姜穆澜3 小时前
OneID 从 0 到 1 完整生产案例(四)
大数据
OsDepK3 小时前
项目快速Git至仓库(完整版)
大数据·git·elasticsearch·搜索引擎
合米AI SOP系统4 小时前
传统产线如何快速上马落地 AI 防错?合米科技 AI SOP 7天即可上线。
大数据·人工智能·科技
思录Echo4 小时前
什么决定具身智能的最终走向?多技术路线与落地现实辨析
大数据·人工智能
xiaohaiAIgeo4 小时前
【2026年】AI监控加行为分析守护实验室安全
大数据·人工智能·科普知识
林墨聊AIGC5 小时前
动漫AI视频创作工具在哪找到的?2026年最新动漫AI视频平台与软件指南
大数据·人工智能·ai作画·aigc·音视频
故七月6 小时前
告别 AI 时代品牌 “隐身”:万域智瞰 AI‑GEO,构建品牌大模型时代营销新基建
大数据·人工智能
数字孪生视频孪生7 小时前
三维实时重构异构底座 核工危化无感定位跨境轨迹一屏统揽
大数据·运维·人工智能·重构·架构