【大数据面试题】012 谈谈 Hive 性能优化常用的方法

一步一个脚印,一天一道面试题

  • 数据分区和分桶:合适的分区和分桶能减少数据量的输入

  • 合适的数据格式:Parquet,ORC 是可以减少 I/O ,网络传输速率等的

  • 列裁剪:一般不要使用 SELECT *,只获取真正需要的列

  • 文件合并 :使用 INSERT OVERWRITE 可以减少小文件数量,提高效率

  • 数据过滤 :使用 WHERE 过滤,简单却有效

  • 并行度设置:合理的并行度设置可以更好的利用集群性能,否则可能会"有力使不出"或"杀鸡用牛刀"的情况

  • 数据本地化和 JOIN 化:尽量在本地节点做更多的操作,减少网络传输等开销,比如使用 mapjoin;

  • 定期收集统计信息 :ANALYZE TABLE 收集表的信息,可以让优化器更可能做出更好的查询计划;

相关推荐
棣廷1 小时前
初识Spark Core
大数据·分布式·spark
HRaitest9 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
starzy199010 小时前
Kafka源码深度剖析:消息有异常是如何处理的
大数据·kafka
大大大大晴天11 小时前
每天认识一个组件:ClickHouse
大数据
zwjapple12 小时前
skill总结
大数据·elasticsearch·搜索引擎
百年江湖随意沉浮13 小时前
DATA AI · 数据可视化
大数据
SelectDB13 小时前
实时更新排错现场:导入了却查到旧数据,和 FINAL 越加越慢的两条路
大数据·数据库·数据分析
SelectDB13 小时前
拿 Planet 的账单一行行对下来,我总结出三个可自查的校验点
大数据·数据库·数据分析
SelectDB13 小时前
Apache Doris + Vane:让多模态数据进入业务分析
大数据·数据库·数据分析
考拉讲支付14 小时前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构