- 博客(16)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 [SDU软件工程实践]Blog14-一些团队交流与终章
2021SC@SDUSC目录对树的上下访问compile总结对树的上下访问我从队中第四部分的负责人那里得知,在对操作的逻辑优化过程中,对树的访问确实不是单向的,而是“上蹿下跳”的。逻辑优化会在一个树状结构上来回访问,并且还有多种不同的优化逻辑,有不同的“上下翻飞”的方法。(不得不说后面的逻辑优化太难了)既然它们后续的各种处理都需要在树上双向行走,那ASTNode保存父节点的必要性可太大了。compilecompile方法其实包含了后续大量操作,甚至包括第四部分的内容……的入口。实际上,主方法co
2021-12-27 14:57:24
201
原创 [SDU软件工程实践]Blog12-对之前的debug验证(2)
2021SC@SDUSC目录在processL上次到了击碎为tokens的部分,接下来就会有一个挺奇怪的点……在processL
2021-12-13 17:03:00
133
原创 [SDU软件工程实践]Blog11-对之前的debug验证(1)
目录启动配置等待输入分割击碎为token从这篇博客开始,我使用debug一步一步检查前面的代码,检查结论的同时还可以再看一些其它的东西,直到看到那个Ast树为止启动配置看到这些.xml文件就很明白了……等待输入命令行中在等待指令输入,debug显示阻塞在读取命令之前。这与我之前对这里的功能推测还是一致的,我们先输入一条指令select id from test where id=1;select * from test;这条指令会被解析,但不会使用到MapReduce。我们希望看到的是解
2021-12-06 13:39:43
154
原创 [SDU软件工程实践]Blog10-开启debug
2021SC@SDUSC目录资源准备构建hive远程调试启动配置启动debug后记资源准备已经准备好了hive的源码和社区版IDEA把他们解压就可以用了构建hive我们需要在IDEA中打开hive源码并加载好依赖通过命令行打开IDEA打开源码的文件夹,然后等着Maven把依赖都加载完其实第一次做到这一步的时候,整个虚拟机在加载Maven的过程中瘫痪了……彻底黑屏,无法再打开。这次没有发生这样的问题,不过还是耗费了大量的时间ps:仍然有一个依赖是没有找到的,但是不影响debug远
2021-12-01 13:51:47
176
原创 [SDU软件工程实践]Blog9-修复Hive
2021SC@SDUSC目录发生什么了?解决它使用wordcount来检查hadoop针对找不到主类的解决方法后续发生什么了?这天,我打开hive,准备测试功能。hive首先是无法进入了,这是因为我很久没有操作过hdfs,它自己进入了安全模式。解除安全模式再启动,插入个数据,然后这个程序就这样卡死在这里了。解决它使用wordcount来检查hadoop然后我就疯狂在网上各种查,最后基本都指向了hadoop出现问题。我使用hadoop的官方案例wordcount,但是这个案例仍然卡住了。对于
2021-11-22 14:14:30
1355
原创 [SDU软件工程实践]Blog8-直到HiveParser/debug的困境
2021SC@SDUSC目录HiveLexerX到底是什么?new ANTLRNoCaseStringStreamnew HiveLexerX回到开头TokenRewriteStream关于debug我们先继续上一次的地方讲,有关debug和对hive外框架的处理最后说。HiveLexerX到底是什么?首先我们接着看上一次我们一点一点看new ANTLRNoCaseStringStream这个类的构造器经过了一层调用,结果是这样的input就算是command,也就是说这个类的构造器实际
2021-11-15 18:07:41
343
原创 [SDU软件工程实践]Blog7-迈入compile
2021SC@SDUSC目录遗留问题:txn遗留问题:txn上次我们留下了一个问题:这个txn是什么概念?为什么它可能导致compileInternal再次被调用?其实最直接的还是看这个方法本身的注释。txn是一个与事务、锁等有关的概念1,这个方法也是检查事务相关内容的,产生冲突时返回false。而且与之相关的queryTxnMgr,是一个HiveTxnManager对象。这个类(接口)是用于事务管理的(来源是hive官方文档)。queryTxnMgr的用法中,只有两个是设置值的。而这两个
2021-11-08 18:04:42
1503
原创 [SDU软件工程实践]Blog5-从CommandProcessorFactory.get开始
2021SC@SDUSC目录方法CommandProcessorFactory.get方法getForHiveCommandInternal方法HiveCommand.find指令安全性检查最终switch那么DriverFactory.newDriver?方法CommandProcessorFactory.get好消息是这个方法并不长,坏消息是这个方法调用了另一个方法……这方法是直接把参数传下去了我们经过几层调用调用到了一个叫getForHiveCommandInternal的方法。不过同时也要
2021-10-25 19:12:42
236
原创 [SDU软件工程实践]Blog4-processLine及processCmd
2021SC@SDUSC目录`processLine`官方注释processLine官方注释官方其实在源代码里为这个方法写了javadoc注释,我们来看看首先第一句明确了一件事:这个方法会用来处理一个用分号分割的命令的。这和我上一篇的推测是基本一致的。...
2021-10-18 21:09:03
158
原创 [SDU软件工程实践]Blog3-executeDriver如何处理不同的输入
2021SC@SDUSC目录预处理`-e`——直接执行预处理在executeDiver这个方法里,也根据你在启动hive时命令的不同要进行一些不同的处理-e——直接执行我们先看看预处理的第一部分execString的来源是这里在run中调用的process_stage2方法里,我们能看出execString这个属性是来自于我们启动hive时的-e参数的,而-e参数代表的是直接执行指定的HQL语句,看来processLine这个方法很关键。但是这里毕竟还是前期嘛,我们先不着急继续看。.
2021-10-11 16:29:09
145
原创 [SDU软件工程实践]Blog2-通过脚本文件确定程序入口以及入口部分的初解读
2021SC@SDUSC目录从`$ bin/hive`开始为什么是`hive``hive`都做了什么在上一次博客中,我有说过我是负责第一部分——从HQL语句转化至抽象语法树AST这一步。而由于这一部分是第一部分,所以我要从命令行开始,理清程序的执行路径。从$ bin/hive开始为什么是hive我们开启HQL命令行的指令就是bin/hive,我们前往源代码,可以发现我们执行的这个名为hive的脚本文件据我所知,hiveserver2也是一个入口,不过我发现这个hiveserver2的内部是这个
2021-10-04 22:24:56
211
原创 [SDU软件工程实践]Blog1-hive基础安装与整体规划
2021SC@SDUSC目录安装HadoopLinux虚拟机XShell和XftpJDKHadoop安装Hadoop配置Hive到写这篇博客为止,我己经初步装好了hadoop和hive,hive已经可以运行了,且已经有了源码,但是没有截图,只能尽量配图了。安装Hadoophive要运行在hadoop上,那么使用hive的必要前提就是安装hadoop了。Linux虚拟机Linux选择了CentOS-7,有阿里云的镜像我们设法搞一个VMware,用文件安装即可。过程中要设置root用户密码和个人用
2021-09-27 17:35:06
330
有关vs和qt:无法打开源文件:"ui_qt_5142.h"
2021-01-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人