spark on hive 优化?

问答 gogo55ok ⋅ 于 2020-01-18 10:50:10 ⋅ 最后回复由 青牛 2020-02-10 22:23:18 ⋅ 1876 阅读

有没有spark sql大神, 想问问一些问题,我们现在的系统是一个类似于大数据BI的产品,架构是spark on hive + hadoop, 主要丢进spark里面的查询有两类,一种是OLAP查询,如

select * from table where [] group by[] 这种形式的,这种的平均延迟在2s,另一种是用来所left join的,就是用于业务数据建模的,主要是以下这种,

create table stored as parquet as select A.id, B.id1, C.id2 from A left join B on A.id = B.id join C on B.id = C.id, 这种查询由于源表的数据量大部分都在千万级别,数据量大多在几百MB到2GB上,这种查询在spark on hive的架构上总感觉力不从心,现在这种查询的平均查询在20~50s,有一些特例或者数据倾斜的情况,还会持续个10几分钟都有。所以有一些问题想问问你这边有没有可以解决的方案:

  1. 我们现在这种查询的延迟是合理的么?

  2. 如果我们想尽量减少第二种查询也就是创建表的延迟,怎么去优化?

  3. 我们的机器是64G mem以及24core的机器,感觉性能还可以,现阶段我们的业务感觉瓶颈在磁盘还有CPU上,主要在磁盘。一旦涌入大量的第二类请求,还会大大影响第一类查询,现在用缓存的方式去顶住,但是不是一个长远的方法,请问还有更好的办法么?

先提前谢谢了,任何建议都是我们需要的,谢谢

成为第一个点赞的人吧 :bowtie:
回复数量: 1
  • 青牛 国内首批大数据从业者,就职于金山,担任大数据团队核心研发工程师
    2020-02-10 22:23:18

    我感觉你这速度应该还可以,你自己应该已经调了内容了,不然千万级的表你都跑不动,数据倾斜那个可以先用hive处理一波,把倾斜数据刨除,然后spark算不倾斜的数据,倾斜的数据用随机数方式解决

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