摘要:
前言 归并排序算法是连接算法中比较复杂的算法,相比嵌套循环与Hash匹配而言。本节会通过实例来说明该算法在PG中的具体实现。 在PG中,通过状态机来实现——归并 连接。当然这里的完整流程是排序——归并——连接,由于排序通过Sort操作来完成,这里就不赘述。 这里的状态机一共有11中状态,在这11中状 阅读全文
摘要:
如下图所示,interrupt()方法并没有成功的中断我们的线程。 为了便于理解,其实可以这样来类比(注意,只是类比,实际情况并不完全是这样):Thread类中有一个boolean的标志域用来表示线程是否需要被中断,默认是false。interrupt()方法被调用之后,这个标志域就变成了true。 阅读全文
摘要:
spark打包还是比较复杂的,特别的其中有关R语言的模块。在本章,我就将其中遇到的所有问题为大家一一讲解,为大家提供一点经验。 这里的打包命令是直接从官网中找的,这里我们最后得到的是tgz格式的包。打包的命令是——./dev/make-distribution.sh --name custom-sp 阅读全文
摘要:
flink中的rpc框架使用的akka。在本节并不详细讲述akka,而是就flink中rpc来讲述akka的部分内容。本节,我从AkkaRpcActor.handleRpcInvocation方法讲起。 看过hadoop、yarn、hive、hbase、presto的rpc框架,感觉flink的通信 阅读全文
摘要:
本节我们从ProxyFactory开始分析。该类有几个比较重要的方法——addAdvice、addAdvisor、getProxy,其中最后一个方法是我们本节的重点。前两个方法都是向ProxyFactory中成员变量advisors中加入成员,以便后面调用方法时实现拦截。 这里,我们首先来了解前两个 阅读全文
摘要:
这里我们从BeeLine.execute讲起。 接下来来到BeeLine.dispatch,这里的入参就是sql语句。方法的最后调用了Commands.sql,然后调用到了Commands.execute。 如下图所示,这里是Commands.execute中的关键逻辑。 1.调用BeeLine.c 阅读全文
摘要:
尽管这里是hadoop的rpc服务,但是hadoop还是做到了一次连接仅有一次认证。具体的流程待我慢慢道来。 客户端:这里我们假设ConnectionId对应的Connection并不存在。在调用getConnection方法时,这里构造了Connection,由于入参ConnectionId.do 阅读全文
摘要:
最近开始转战presto,至于前面章节中的Hbase,我也会持续更新,喜欢我的可以关注我。关于这个流程,我看过阿里云的的一篇文章,但看后还是不知所云,就写下了这篇博客,大家感兴趣的可以访问那篇文章——https://yq.aliyun.com/articles/670066。 闲话不说,让我们来到正 阅读全文
摘要:
相信大家在看了该系列的前两篇文章就已经对其中的持久化有比较深入的了解。相对而言,本节内容只是对前两节的一个巩固。与持久化相对应的是打开文件并将其内容读入到内存变量中。而在本节,我就来介绍这一点。 本节我从方法HStore.validateStoreFile开始分析。在本节的末尾,我将会为大家带来CF 阅读全文
摘要:
正如上篇博文所说,在本节我将为大家带来StoreFlusher.finalizeWriter。。如果大家没有看过我的上篇博文《HBase之CF持久化系列(续1)》,那我希望大家还是回去看一下,要不然本节的很多内容大家可能看不懂。闲话不说,让我们来到正文。 首先来到方法StoreFlusher.fin 阅读全文