文章目录

  • 一、Maxcompute在优酷的应用
    • 1.1 优酷业务的特点
    • 1.2 Maxcompute 简单易用
    • 1.3 Maxcompute 生态完善
    • 1.4 Maxcompute 性能强悍
    • 1.5 MaxCompute 资源弹性
    • 1.6 大数据整体方案
    • 1.7 数据分层
    • 1.8 业务赋能
    • 1.9 计算优化
    • 1.10 存储优化
  • 二、斗鱼 MaxCompute + Hadoop 混搭大数据架构实践
    • 2.1 自建集群的发展瓶颈
    • 2.2 大数据上云的挑战
    • 2.3 混合云模式带来的变化
  • 三、MaxCompute SQL 优化
    • 3.1 SQL 成本计算
    • 3.2 SQL IO 读取优化
      • 3.2.1 表分区优化
      • 3.2.2 列裁剪、条件过滤
      • 3.2.3 源表用户
    • 3.3 SQL 计算优化
    • 3.4 SQL 整体优化
      • 3.4.1 关键路径优化
      • 3.4.2 长周期指标统计优化
    • 3.5 总结

一、Maxcompute在优酷的应用

1.1 优酷业务的特点

1.2 Maxcompute 简单易用

1.3 Maxcompute 生态完善

1.4 Maxcompute 性能强悍

1.5 MaxCompute 资源弹性

1.6 大数据整体方案

1.7 数据分层


数据中台,从ODS层 ——> CDM层 ——> ADS层

1.8 业务赋能

1.9 计算优化

1.10 存储优化

二、斗鱼 MaxCompute + Hadoop 混搭大数据架构实践

2.1 自建集群的发展瓶颈

2.2 大数据上云的挑战






Hive 窗口函数 ,像 rank() ,MaxCompute 不支持,需要确定哪些业务可以迁到云上,哪些不可以。


2.3 混合云模式带来的变化





三、MaxCompute SQL 优化

3.1 SQL 成本计算

  • 计算成本 <- 读取IO数据量 * SQL复杂度
  • SQL 复杂度:Join / Group By / Order By / Distinct / window func / Insert into

因此,优化SQL的过程,实际上就是要尽可能减少IO读取,尽可能减少计算资源使用,尽可能降低SQL复杂度,尽可能提升运行速度。

3.2 SQL IO 读取优化

3.2.1 表分区优化

  • 建立分区表
Create Table t1 (...) partitioned by (pt string,region string)

分区层数不要太多

  • 分区裁剪

避免全表扫描,减少资源浪费

Case:where pt = xxx and region = xxx

分区尽量按层级顺序剪裁

分区值尽量常量化,避免不可确定值,如UDF

分区值尽量避免引用列的表达式计算或者子查询

  • 写分区

写入静态分区,优化数据存储

避免动态分区,防止小文件过多和计算长尾

3.2.2 列裁剪、条件过滤

  • 只引用有效列

避免 select * from xxx

常量代替引用列,如count© -> count(1) // c not null

  • 尽可能 pushdown 过滤条件

where a > 10 and (b > 1 or c < 1)

  • Limit N

3.2.3 源表用户

  • 合并不同SQL,一读多计算

读取相同源表可合并,节省IO和计算资源

对源表统计多种指标计算或者筛选不同数据处理

避免规模过大,运行时间过长

  • Multi Insert ,动态分区,一读多写

同一SQL读取相同源表,系统会优化只读取一次

资源足够,也可以考虑拆分SQL,读取和计算更好并行,资源换时间

  • 子查询合并

对于SQL中相同的子查询也会合并成一个源

尽可能保持子查询语句一样,触发合并

3.3 SQL 计算优化










3.4 SQL 整体优化

3.4.1 关键路径优化

3.4.2 长周期指标统计优化


3.5 总结

阿里云 MaxCompute 行业级应用(优酷、斗鱼)及 MaxCompute SQL 调优相关推荐

  1. 11g新特性-自动sql调优(Automatic SQL Tuning)

    11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...

  2. 阿里云制造行业总经理胡鑫:中台技术如何支撑企业数字化转型

    https://www.yuntask.com/news/158089.html "阿里数字化转型的关键词是一切业务数据化,整个阿里巴巴集团的业务都是基于这个理念而搭建的."阿里云 ...

  3. 家乐福618保卫战二-零售O2O场景中的万级并发交易情况下的极限性能调优

    本系列简介 这个系列可以帮助普通程序员们深刻的意识到平时工作中到底还有什么不足以及如何进一步进化成真正意义上的架构师.CTO以及后面的道路是如何走的: 这个系列可以帮助企业IT管理者深刻意识到,性能安 ...

  4. 全自研客户端技术方案:优酷跨端动态模板引擎优酷跨端动态模板引擎

    前言 优酷客户端是一个多平台[Phone.Pad.OTT.MacPC]的文娱生态综合体,为了降低多端产品迭代的开发成本,并提供给用户高性能.一致的产品体验,优酷技术团队在19年底启动了跨平台动态模板引 ...

  5. 优酷视频如何意见反馈?优酷视频怎么意见反馈

    01. 我们打开优酷视频APP. 优酷视频如何意见反馈?优酷视频怎么意见反馈 02. 在视频的首页,我们点击下方最右侧的那个"我的". 优酷视频如何意见反馈?优酷视频怎么意见反馈 ...

  6. 优酷路由宝安装php,优酷路由宝怎么设置_优酷路由器怎么安装?-192路由网

    本文主要介绍了优酷路由宝(器)的安装.上网设置.无线WiFi名称和密码设置.管理密码设置等内容.优酷路由宝(器)有普通版.旗舰版.黄金版.京东白条版等等好几个版本,本文将用普通版的优酷路由宝为例,来介 ...

  7. MaxCompute SQL调优

    SQL成本计算=读取IO数据量*SQL复杂度 所以,SQL调优可以从两方面入手:①减少数据量:②降低SQL复杂度 一.减少数据量 1.表分区优化 (1)创建分区表 (2)分区裁剪.避免全表扫描. (3 ...

  8. 面试中sql调优的几种方式_面试方式

    面试中sql调优的几种方式 The first question I ask someone in an interview for a cybersecurity position is, &quo ...

  9. sql调优的几种方式_「数据库调优」屡试不爽的面试连环combo

    点赞再看,养成习惯,微信搜索[三太子敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的 ...

  10. SQL调优指南笔记6:Explaining and Displaying Execution Plans

    本文为SQL Tuning Guide第6章"解释和显示执行计划"的笔记. 了解如何解释SQL语句并显示其计划对于 SQL 调优至关重要. 重要基本概念 row source tr ...

最新文章

  1. 途游斗地主加密协议分析及破解
  2. linux内核配置系统浅析(转)
  3. 构件图(Component Diagram)
  4. 【opencv】6.视频编码格式与封装格式
  5. 指针:调用自定义交换函数,完成三个数整从小到大排列
  6. linux 虚拟机安装图形界面,linux 在虚拟机中安装图形界面
  7. SQLServer常见性能问题
  8. html5手机签名,html5手写签名
  9. 7.1 pdo 宝塔面板php_大商创X2.0宝塔环境保姆式完整安装教程
  10. 想和人脑一样智能? IBM 的芯片级模仿才是关键
  11. Linux安装SQLite轻量级数据库
  12. Cocos2d-x移植android增加震动效果
  13. 什么是 D视频端子 色差分量接口 RF接口
  14. 国内可外用免费语料库下载资源汇总, 语言翻译必备:国内外23个语料库推荐
  15. html语言标题怎么居中,html标题栏代码 HTML中怎么设置标题居中
  16. Mac上搭建虚拟机 安装windows系列
  17. Redis:只刷面试题,怎可能进大厂,多理解原理(RDB 持久化、AOF持久化)
  18. efi分区格式化操作
  19. stack、queue和priority_queue
  20. 路径规划的二次规划方法-知识总结

热门文章

  1. 『NLP经典项目集』06: 使用预训练模型ERNIE-GEN自动写诗
  2. UE4对于对象的剔除
  3. 7-7 查验身份证 (15分)
  4. 贵阳 计算机就业,学计算机专业就业率高值得信赖_贵阳经济技术学校
  5. 线上故障分析-故障分级,原因,分类,混沌工程,排除方法
  6. 重磅分享:微软面试100题2010年版全部答案完整亮相
  7. B2C、C2C电子商务分析
  8. 在python中用seaborn.boxplot画图,以及带子分组的并排箱线图
  9. ITK系列5_ ITK定义图像原点和间距
  10. uniapp开发获取用户位置信息功能解析