个人数仓开发面试题记录

一.广州电商公司

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;

相关推荐
新诺韦尔API1 小时前
手机三要素验证不通过的原因?
大数据·智能手机·api
成长之路5141 小时前
【数据集】分地市全社会用电量统计数据(2004-2022年)
大数据
InfiSight智睿视界2 小时前
门店智能体技术如何破解美容美发连锁的“标准执行困境”
大数据·运维·人工智能
Python_Study20253 小时前
制造业数据采集系统选型指南:从技术挑战到架构实践
大数据·网络·数据结构·人工智能·架构
Cx330❀3 小时前
Git 多人协作全攻略:从入门到高效协同
大数据·elasticsearch·搜索引擎·gitee·github·全文检索·gitcode
Tob管理笔记3 小时前
建筑业如何精准开拓优质客户?技术驱动下的方法论与实践
大数据·云计算·数据库开发
MM_MS4 小时前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
JZC_xiaozhong4 小时前
主数据同步失效引发的业务风险与集成架构治理
大数据·架构·数据一致性·mdm·主数据管理·数据孤岛解决方案·数据集成与应用集成
T06205144 小时前
【数据集】全国各地区教育139个相关指标数据集(2000-2024年)
大数据
故乡de云5 小时前
Vertex AI 企业账号体系,Google Cloud 才能完整支撑
大数据·人工智能