京东:Flink SQL 优化实战】的更多相关文章

目录 Hive SQL执行流程 Hive debug简单介绍 Hive SQL执行流程 Hive 使用Calcite优化 Hive Calcite优化流程 Hive Calcite使用细则 Hive向Calcite提供元数据 上一篇主要对Calcite的背景,技术特点,SQL的RBO和CBO等做了一个初步的介绍.深入浅出Calcite与SQL CBO(Cost-Based Optimizer)优化 这一篇会从Hive入手,介绍Hive如何使用Calcite来优化自己的SQL,主要从源码的角度进行…
有朋友和我说他的虚机里面的mysql无法跑sql,但是在本地环境是这个sql是可以跑出来的.碰到这个问题第一反应是:死锁. 于是让他查询数据库的几个状态: 发现连即时锁都非常少,不是锁的问题. 进一步排查,是否是系统瓶颈造成. 使用top命令,发现了端倪: 这是一个单核的服务器,cpu这么高,绝对有问题.登上mysql,发现只有14个线程,但都是在执行下面这个语句: select XX from orders c, area a, city y, province p, customers s,…
最近在优化日结存储过程,日结存储过程中大概包含了20多个存储过程. 发现其有一个存储过程代码有问题,进一步发现结存的数据中有一个 日期字段business_date 是有问题的,这个字段对应的类型是varchar,但是存储过程传入参数的类型是char,导致最后结存进去的数据末尾多了几个空格. 比如,应该是'2016-12'的,但现在是'2016-12  '. 为了解决这个问题,要修改这个字段的值,去掉尾部的空格,于是运行如下语句: update TB_CUSTOMER_FROZEN set BU…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 在<Flink SQL Client初探>一文中,我们体验了Flink SQL Client的基本功能,今天来通过实战更深入学习和体验Flink SQL: 实战内容 本次实战主要是通过Flink SQL Client消费kafka的实时消息,再用各种SQL操作对数据进行查询统计,内容汇总如下…
前几篇文章介绍了mysql的底层数据结构和mysql优化的神器explain.后台有些朋友说小强只介绍概念,平时使用还是一脸懵,强烈要求小强来一篇实战sql优化,经过周末两天的整理和总结,sql优化实战新鲜出炉, 大家平时学习和工作中,遇到的90% 的sql优化都会介绍到,介意篇幅过长,分成3篇文章哈. CREATE TABLE `employees` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(24) NOT NULL DEFA…
上周六在深圳分享了<Flink SQL 1.9.0 技术内幕和最佳实践>,会后许多小伙伴对最后演示环节的 Demo 代码非常感兴趣,迫不及待地想尝试下,所以写了这篇文章分享下这份代码.希望对于 Flink SQL 的初学者能有所帮助.完整分享可以观看 Meetup 视频回顾 :https://developer.aliyun.com/live/1416 演示代码已经开源到了 GitHub 上:https://github.com/wuchong/flink-sql-submit 这份代码主要由…
Calcite作为大数据领域最常用的SQL解析引擎,支持Flink , hive,  kylin , druid等大型项目的sql解析 同时想要深入研究Flink sql源码的话calcite也是必备技能之一,非常值得学习 我们内部也通过它在做自研的sql引擎,通过一套sql支持关联查询任意多个异构数据源(eg : mysql表join上 hbase表在做一个聚合计算) 因为calcite功能比较多,本文主要还是从calcite重要的主流程源码入手,主要侧重在VolcanoPlanner的优化器…
京东云TiDB SQL层的背景介绍 从总体上概括 TiDB 和 MySQL 兼容策略,如下表: SQL层的架构 用户的 SQL 请求会直接或者通过 Load Balancer 发送到 京东云TiDB Server,TiDB Server 会解析 MySQL Protocol Packet,获取请求内容,对 SQL 进行语法解析和语义分析,制定和优化查询计划,执行查询计划并获取和处理数据.数据全部存储在 TiKV 集群中,所以在这个过程中 TiDB Server 需要和 TiKV 交互,获取数据.…
数据库服务器主要用于存储.查询.检索企业内部的信息,因此需要搭配专用的数据库系统,对服务器的兼容性.可靠性和稳定性等方面都有很高的要求.        下面是进行笼统的技术点说明,为的是让大家有一个整体的概念,如果想深入可以逐个击破: 希望大家能一起补充完善. 一.服务器规划: 使用64位的操作系统,最好是2008的:(Windows Server 2008 64位) 使用64位的数据库程序,最好是2008的:(SQL Server 2008 64位) 使用千兆网卡: 使用硬RAID5: 使用6…
我们进行SQL优化时,经常会碰到对大量数据集进行排序,然后从排序后的集合取前部分结果的需求,这种情况下,当我们按照常规思路去写SQL时,系统会先读取过滤获得所有集合,然后进行排序,再从排序结果取出极少量结果,这个过程中,大量数据的扫描读取.过滤.排序会消耗掉大量的系统资源,SQL性能也会存在很大的问题,实践中,几分钟乃至几个小时不出结果的情况很常见.为了优化这种场景的SQL,我们经常会让查询顺序扫描建在排序列上的索引,已避开大量的数据读取和排序. 但实践中发现,当索引列不在条件中出现时,ORAC…