摘要: 本文结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。 Hive Hive是什么?Hive 阅读全文
posted @ 2024-01-20 12:06 积极向上的徐先生 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 图解数据库左连接、右连接、内连接、外连接、全连接 1. 前言 在日常的数据库增删改查任务中,由于数据的规范设计,数据通常不集中在同一张表里,所以经常会涉及到多表的数据查询,多表数据查询需要表之间的连接,而表间连接方式有很多,下面就针对各种表连接方式进行介绍。在介绍之前,为了方便对文字概念的深入理解, 阅读全文
posted @ 2024-01-14 09:45 积极向上的徐先生 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 链路追踪traceId 参考文档 https://developer.aliyun.com/article/976628 内容 阅读全文
posted @ 2023-10-27 13:51 积极向上的徐先生 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 业务日志打印规范 参考文档 Java开发手册 https://github.com/alibaba/p3c 内容 【强制】应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架 (SLF4J、JCL--Jakarta Commons Logging)中的 API, 阅读全文
posted @ 2023-10-27 10:19 积极向上的徐先生 阅读(54) 评论(0) 推荐(0) 编辑
摘要: calcite解析sql 1. Calcite简介 Apache Calcite是一个动态数据管理框架,它具备很多典型数据库管理系统的功能,比如SQL解析、SQL校验、SQL查询优化、SQL生成以及数据连接查询等,但是又省略了一些关键的功能,比如Calcite并不存储相关的元数据和基本数据,不完全包 阅读全文
posted @ 2023-09-22 13:53 积极向上的徐先生 阅读(781) 评论(1) 推荐(0) 编辑
摘要: 结合操作系统线程 查看mysql中的sql资源 消耗 ( 5.7 才可以, 5.7时 performance_schema.threads表 才加入的 thread_os_id 系统线程字段 1 --1、top -H 查看具体线程的CPU消耗 2 [root@hostmysql80 mysql]# 阅读全文
posted @ 2023-09-21 14:13 积极向上的徐先生 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 抽象类和普通类的区别 抽象类和普通类都是类的概念,在面向对象编程中用于组织和管理代码。它们的主要区别在于抽象类有一些特殊的属性和限制,这些属性和限制在普通类中是没有的。 具体来说,抽象类是一种特殊的类,它不能被实例化。也就是说,你不能直接使用 new 关键字来创建抽象类的对象。相反,你需要创建一个抽 阅读全文
posted @ 2023-04-21 11:30 积极向上的徐先生 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 访问者模式是一种行为型模式,它最早是由Gof(Gang of Four,四人帮)在他们的《设计模式:可复用面向对象软件的基础》一书中提出的。 访问者模式的主要思想是,定义一个访问者类,可以遍历一个数据结构,然后在每个对象上执行相应的操作。访问者模式的实现需要设计两个部分:元素和访问者。元素是指数据结 阅读全文
posted @ 2023-04-21 11:20 积极向上的徐先生 阅读(27) 评论(0) 推荐(0) 编辑
摘要: SqlParser 基本概念 SqlUtil.andExpressions:拼接查询条件。 SqlParser:sql转换器,将sql字符串转换为sql语法树 SqlNode:sql语法树基础元素 SqlParserPos:为当前元素在sql语法树中位置 SqlKind:节点类型 SqlCall:语 阅读全文
posted @ 2023-04-21 09:59 积极向上的徐先生 阅读(515) 评论(0) 推荐(0) 编辑
摘要: ![img](https://img2023.cnblogs.com/blog/1408076/202304/1408076-20230415134905092-116393879.png) 阅读全文
posted @ 2023-04-15 13:49 积极向上的徐先生 阅读(8) 评论(0) 推荐(0) 编辑