- 博客(12)
- 收藏
- 关注

原创 大数据 - hive执行SQL语句基本流程- 源码02
目录导航Driver类编译的过程代码入口以及过程利用antlr将HiveQL转换成抽象语法树(AST)。利用对应的SemanticAnalyzer类,将AST树转换成Map-reduce task。Driver类Driver类是hive最核心的类。Driver类是查询的起点,run()方法会先后调用compile()和execute()两个函数来完成查询,所以一个command的查询分为compile和execute两个阶段。编译的过程Compiler简介解析器(Parser)–将查询字符串转
2020-07-19 19:17:51
734
1

原创 大数据 - hive执行SQL语句基本流程- 源码01
目录hive简介hive架构图hive cli架构图hive源码结构hive三大核心模块hive执行命令入口接收命令的入口函数调用`cli.CliDriver.run()`方法`executeDriver`调用 `cli.processLine()`或者`cli.processFile()`调用`CliDriver.processCmd()`方法调用processLocalCmd()方法调用Driver.run()方法hive简介什么是Hive?数据仓库:存储、查询、分析大规模数据SQL语言:简单
2020-07-19 18:36:54
594
原创 Redis那些事儿-数据结构
文章目录概述数据结构SDS内部结构结构特点链表内部结构结构特点字典内部结构结构特点跳跃表内部结构结构特点整数集合内部结构结构特点压缩列表内部结构结构特点对象字符串对象列表对象哈希对象集合对象有序集合对象概述Redis作为一种流行的NoSQL数据库,广泛被开发者使用,由于其出色的性能(说别的没用,快就完了),其业务覆盖率越来越广泛,由于其本质为KV键值对形式的内存数据库,常见的就是用于缓存系统的设计。其相对于其他NoSQL数据库,Redis具有很多优点,比如对持久化良好的支持、对事务的支持、具有丰富的数据
2021-01-13 17:28:46
150
原创 Java对象创建流程
目录创建方式创建流程分配内存对象访问创建方式使用new关键字 调用了构造函数使用Class的newInstance方法 调用了构造函数使用Constructor类的newInstance方法 调用了构造函数使用clone方法 没有调用构造函数使用反序列化 没有调用构造函数创建流程虚拟机遇到一条new指令时,先检查常量池是否已经加载相应的类,如果没有,必须先执行相应的类加载。类加载通过后,接下来分配内存。若Java堆中内存是绝对规整的,使用“指针碰撞“方式分配内存;如果不是规整的
2020-09-01 16:58:25
250
原创 常用排序算法总结(代码)
目录概述稳定的排序算法:不稳定的排序算法:各算法时间复杂度以及空间复杂度:冒泡算法选择排序插入排序希尔排序桶排序归并排序快速排序堆排序概述稳定的排序算法:冒泡排序插入排序归并排序桶排序不稳定的排序算法:选择排序希尔排序堆排序快速排序各算法时间复杂度以及空间复杂度:冒泡算法冒泡排序可用于当数据已经基本有序,且数据量较小时public static void bubblesort(int[] arr) { int temp = 0; for (int i = 0;
2020-08-31 21:54:07
384
原创 jvm垃圾回收算法以及垃圾回收器
这里写目录标题引用计数法缺点根搜索算法java里可作为“GC Roots”的对象:引用生存还是死亡?无用的类垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法垃圾收集器SerialParNewParallel ScavengeSerial OldParallel OldCMS(Concurrent Mark Sweep)G1CMS收集器和G1收集器的区别?引用计数法给对象中添加一个计数器,每当有一个地方引用它时,计数器加一,当引用失效时,计数器减一。任何时候计数器为0的对象是不可能被引用的。
2020-08-31 21:50:27
441
原创 Java实现二叉树深度优先遍历以及广度优先遍历
目的:对二叉树的深度优先遍历以及广度优先遍历概念介绍:1.深度优先遍历:深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。点击查看详情2.广度优先搜索:宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。点击查看详情3.二叉树:在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通
2020-06-11 14:52:06
684
原创 DataTime---工具类
DataTime—工具类/** * 日期时间工具类 * @type {{dateFormat}} */var DateTime = function () { var patterns = { PATTERN_ERA: 'G', // Era 标志符 Era strings. For example: "AD" and "BC" PATTERN_Y...
2020-04-17 15:45:53
160
原创 RegexpUtils---正则表达式
RegexpUtils—正则表达式/** * 正则表达式工具类 * <p>Title: RegexpUtils</p> * <p>Description: </p> * * @author zhanshennan * @version 1.0.0 * @date 2018/6/16 23:48 */public class Reg...
2020-04-17 15:42:41
163
原创 CookieUtils------Cookie工具类
CookieUtils------Cookie工具类import javax.servlet.http.Cookie;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.UnsupportedEncodingException;i...
2020-04-17 15:40:13
124
原创 Map储存信息———分拣思路(统计单词出现次数)
首先了解常用的两种分拣思路我们以统计一句话单词出现次数为例需求:统计"this is a cat and that is a mice and where is the food"中每个单词出现的次数思路:采用HsahMap容器储存每个单词的信息/**用来记录单词的信息容器1、单词名称2、出现次数*/public class Letter { private String nam...
2020-02-05 15:42:23
395
原创 Java中实现输入日期,显示当月的日历(Date相关类应用)
Java实现输入日期,打印对应月的日历实验结果如下:实现代码:import java.util.Calendar; //导入相关包import java.util.Date;`import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.text.Da...
2020-01-18 14:48:42
1145
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人