加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

SQL on Hadoop在快手大数据平台的实践与优化

发布时间:2019-06-01 18:56:37 所属栏目:编程 来源:佚名
导读:快手大数据架构工程师钟靓克日在A2M人工智能与呆板进修创新峰会分享了题为《SQL on Hadoop在快手大数据平台的实践与优化》的演讲,首要从SQL on Hadoop先容、快手SQL on Hadoop平台概述、SQL on Hadoop在快手的行使履历和改造说明、快手SQL on Hadoop的未

在HS2的ThriftServer层我们增进了接口,与运维体系买通后,设置下推更新的时辰自动挪用,可实现设置的热加载见效。

SQL on Hadoop在快手大数据平台的实践与优化

HiveServer2的Scratchdir优化

HiveServer2的scratchdir首要用于运行进程中的姑且文件存储。当HS2中的会话建设时,便会建设scratchdir。 在HDFS压力大的时辰,大量的会话会阻塞在建设scratchdir进程,导致毗连数会萃至上限,最终HS2处事无法再连入新毗连,影响处事可用性。

对此,我们先疏散了一样平常查询与create temporay table查询的scratch目次,并支持create temporay table查询的scratch的懒建设。 当create temporay table大量建设姑且文件,便会影响HDFS NameNode耽误时刻的时辰,一样平常查询的scratchdir HDFS NameNode可以正常相应。

另外,HS2还支持设置多scratch,差异的scratch能配置加载比率,从而实现HDFS的平衡负载。

SQL on Hadoop在快手大数据平台的实践与优化

Hive Stage并发调治非常修复

Hive调治个中存在两个题目。

一、子Task非执行状态为完成环境的时辰,如有多轮父Task包括子Task,导致子Task被一再插手调治行列。这种Case,必要将非执行状态修改成初始化状态。

二、当判定子Task是否可执行的进程中,会由于状态检测非常,无法正常插手必要调治的子Task,从而致使查询丢失Stage。而这种Case,我们的做法是在执行完成后,插手一轮Stage的执行功效状态搜查,一旦发明有下流Stage没有完成,直接抛堕落误,实现查询功效状态的完整性搜查。

SQL on Hadoop在快手大数据平台的实践与优化

其余改造

  • HS2实现了接口终止查询SQL。操作这个成果,可以实时终止非常SQL。
  • metastore JDOQuery查询优化,要害字非常跳过,防备元数据长时刻卡顿可能部门非常查询影响元数据。
  • 增进开关节制,逼迫包围外表目次,办理insert overwrite外表,文件rename报错的题目。
  • hive parquet下推增进封锁设置,停止parquet非常地下推OR前提,导致功效不正确。
  • executeForArray函数join超大字符串导致OOM,增进限定优化。
  • 增进按照table的schema读取分区数据的成果,停止未级联修改分区schema导致读取数据非常。




SQL on Hadoop平台在行使中碰着的痛点

SQL on Hadoop在快手大数据平台的实践与优化

为什么要开拓SQL专家体系

  •  部门用户并没有开拓履历,无法处理赏罚处理赏罚引擎返回的报错。
  • 有些错误的报错信息不明晰,用户无法正确相识错误缘故起因。
  • 失败的使命排查本钱高,必要对Hadoop整套体系很是认识。
  • 用户的错误SQL、以及必要优化的SQL,大量具有共通性。人力维护本钱高,但体系说明本钱低。




SQL专家体系

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读