优化 hive sql?

问答 大数据之王 ⋅ 于 2018-01-03 12:59:29 ⋅ 最后回复由 青牛 2018-01-03 13:31:19 ⋅ 4071 阅读

如何系统地优化 hive sql?
一般套路是啥? 请大神不吝赐教。。

回复数量: 1
  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2018-01-03 13:31:19

    join时小表使用map端join,当然现在新版的hive都是自动开启的
    多使用子查询
    分区表必须指定分区
    数据格式使用ORC格式
    查询小文件时使每个map读多个文件,避免产生过多的map
    可以使用桶表做查询文件的限制
    可以给无修改数据的hive表创建所引
    使用窗口函数进可适用增加map或reducer的内存
    mapper输出必须开启压缩
    shuffle数据倾斜时使用随机key前缀均衡倾斜的key,当然对于数据倾斜最好的方案还是让被查询的表不倾斜。

    暂时想到这么多,当然以上都是针对mapreducer计算引擎的。
    hive on spark最主要是GC调优,shuffle的优化等等

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter