<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[quxiuchengdev的专栏]]></title><description><![CDATA[quxiuchengdev@gmail.com有问题请联系本人]]></description><link>https://blog.youkuaiyun.com/QXC1281</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; QXC1281]]></copyright><item><title><![CDATA[Apache Calcite教程-validate校验]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/90343560</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/90343560</guid><author>QXC1281</author><pubDate>Sun, 19 May 2019 15:58:57 +0800</pubDate><description><![CDATA[Calcite校验
常见类
SqlValidator
验证SQL语句的解析树
SqlValidatorImpl
SqlValidator默认实现类,校验的核心类,整体代码最为复杂
SqlValidatorScope
SQL校验名称解析范围
SqlValidatorScope describes the tables and columns accessible at a particular po...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-Schema,Table.自定义Schema,自定义Table]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89705872</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89705872</guid><author>QXC1281</author><pubDate>Tue, 30 Apr 2019 11:24:59 +0800</pubDate><description><![CDATA[Apache Calcite - schemaschema - 常用类SchemaAbstractSchemaSchemaPlusSchemaFactoryTableAbstractTableScannableTableQueryableTableTranslatableTableFilterableTableProjectableFilterableTableStreamableTableAb...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-SQL解析-Calcite自定义语法解析]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89524571</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89524571</guid><author>QXC1281</author><pubDate>Thu, 25 Apr 2019 20:06:22 +0800</pubDate><description><![CDATA[Calcite自定义SQL解析常用方法和配置config.fmpp配置和Parser.jj文件结合说明package,class,importskeywordsnonReservedKeywordsjoinTypesstatementParserMethodsliteralParserMethodsdataTypeParserMethodsalterStatementParserMethodsc...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-SQL解析-Calcite SQL解析]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89481346</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89481346</guid><author>QXC1281</author><pubDate>Tue, 23 Apr 2019 21:11:40 +0800</pubDate><description><![CDATA[Calcite SQL解析代码目录config.fmppparserImpls.ftl/compoundIdentifier.ftl生成解析器的流程Sql解析使用解析示例代码解析流程常用类SpanSqlAbstractParserImplSqlParseExceptionSqlParserSqlParserImplFactorySqlParserPosSqlParserUtilSqlNodeSq...]]></description><category></category></item><item><title><![CDATA[二叉树的后序遍历]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89418461</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89418461</guid><author>QXC1281</author><pubDate>Sat, 20 Apr 2019 15:43:17 +0800</pubDate><description><![CDATA[二叉树的后序遍历思路整体操作流程整体动图详情遍历右子树，入输出和辅助栈右子树为空，辅助栈出栈，遍历左子树遍历完毕后输出相关代码
思路
其实二叉树的后序遍历，相当于，右左根的反向输出，可以利用栈来进行逆向输出，另个栈辅助遍历过程

入栈，入输出栈
遍历右子树
2.1  非空:  (1)
2.2  空值: （4）
遍历左子树
逆向输出

整体操作流程
整体动图

详情
遍历右子树，入输出和辅助栈

右...]]></description><category></category></item><item><title><![CDATA[二叉树的中序遍历]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89417229</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89417229</guid><author>QXC1281</author><pubDate>Sat, 20 Apr 2019 14:36:45 +0800</pubDate><description><![CDATA[二叉树的中序遍历思路整体操作流程整体动图详情遍历左子树左子树为空出栈，并输出遍历右子树完成输出相关代码
思路
和二叉树的前序遍历十分相似,只是输出的位置不同
二叉树的前序遍历
利用栈的特性存储遍历过的节，先遍历左子树（左子树入栈），当左子树为空时，输出，遍历右子树

遍历左子树
入栈
判断左子树是否为空
3.1  非空:  (1)
3.2  空值: 出栈，输出，遍历右子树,(1)

整体操作流程
...]]></description><category></category></item><item><title><![CDATA[二叉树的前序遍历]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89416252</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89416252</guid><author>QXC1281</author><pubDate>Sat, 20 Apr 2019 13:26:32 +0800</pubDate><description><![CDATA[二叉树的前序遍历思路整体操作流程整体动图详情遍历左子树，输出根节点入栈左子树为空-出栈遍历右子树遍历结束相关代码
思路
利用栈的特性存储遍历过的节，先输出，再入栈，假如左子树为空，则输出，开始遍历右子树，直到树全部遍历或者栈为空

输出根节点
入栈
判断左子树是否为空
3.1  非空:  操作(1)
3.2  空值: 出栈，遍历右子树，继续操作(1)

整体操作流程
整体动图

详情
遍历左子树，...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-SQL解析-JavaCC教程]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89405468</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89405468</guid><author>QXC1281</author><pubDate>Fri, 19 Apr 2019 17:58:31 +0800</pubDate><description><![CDATA[JavaCC语法描述文件JavaCC类介绍SimpleCharStreamXXXXXConstantsXXXXXTokenManagerTokenXXXXXParseExceptionTokenMgrError常见配置 optionsJavaCC工作原理语法二义性解决JavaCC语法Java代码JAVA函数条件循环正则表达式代码示例Maven编译简单计算器简单语法示例
JavaCC
使用递归下降...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-SQL解析-FMPP]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89405288</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89405288</guid><author>QXC1281</author><pubDate>Fri, 19 Apr 2019 17:49:07 +0800</pubDate><description><![CDATA[fmpp 具体代码实例1.添加Maven依赖fmpp配置文件freemarker模板1freemarker模板2执行maven插件生成文件
fmpp 具体代码实例
1.添加Maven依赖
&lt;plugin&gt;
    &lt;configuration&gt;
        &lt;!--配置文件地址--&gt;
        &lt;cfgFile&gt;src/main/code...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-基础知识-水位线(Watermark)]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89214647</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89214647</guid><author>QXC1281</author><pubDate>Thu, 11 Apr 2019 16:46:53 +0800</pubDate><description><![CDATA[水位线(水印) Watermark
和Apache Calcite基本无关,和流式SQL有关,作为附加学习内容
Watermark的概念
数据流中经常出现事件时间(Event Time)乱序的情况,如果创建一个时间窗口为5s,但是数据延迟到达,
就会引起数据的不准确,为了解决类似的问题,提出了水位线概念
Flink Watermark设计
周期Watermark (Periodic Waterma...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-基础知识-流SQL窗口]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89212031</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89212031</guid><author>QXC1281</author><pubDate>Thu, 11 Apr 2019 15:29:44 +0800</pubDate><description><![CDATA[流SQL中的窗口概念滚动窗口 Tumbling Window滑动窗口 Sliding Window会话窗口 Session Window注意
流SQL中的窗口概念
滚动窗口 Tumbling Window
将元素分配给每个固定长度的窗口,滚动窗口具有固定的尺寸,不重叠元素

滑动窗口 Sliding Window
滑动窗口将元素分配给固定长度的窗口,并且附加每次窗口的滑动频率,可以存在窗口重叠的...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-基础知识-SQL优化基础]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89187221</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89187221</guid><author>QXC1281</author><pubDate>Thu, 11 Apr 2019 13:00:36 +0800</pubDate><description><![CDATA[基础概念逻辑优化关系代数等价变换运算符角度优化考虑选择基本选择性质分解有复杂条件的选择选择和叉积选择和集合运算选择和集合运算图解选择和投影投影基本投影性质投影和集合云算选择和集合运算图解运算规则度优化考虑连接,笛卡尔积交换律连接,笛卡尔积结合律投影的串接定律选择的串接定律投影与选择交换律选择与笛卡尔积的分配律选择与并的分配律选择与差的分配律投影与笛卡儿积的分配律投影与并的分配律子查询优化视图重写...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-基础知识-SQL与关系代数]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89107649</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89107649</guid><author>QXC1281</author><pubDate>Mon, 08 Apr 2019 20:55:04 +0800</pubDate><description><![CDATA[sql和关系代数常见SQL和关系代数的转换选择(selection)σ投影(projection) π并集(set union) U更名(rename) ρ相等连接 (equijoin)θ-join (theta join)
sql和关系代数
sql和关系代数相互转换




名称
英文
标识




选择
selection
σ (sigma)


投影
projection
Π (PI大写)...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程 -目录]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89070285</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89070285</guid><author>QXC1281</author><pubDate>Sun, 07 Apr 2019 15:36:47 +0800</pubDate><description><![CDATA[Apache Calcite教程-官方翻译-背景
Apache Calcite教程-官方翻译-关系代数
Apache Calcite教程-官方翻译-适配器
Apache Calcite教程-官方翻译-空间
Apache Calcite教程-官方翻译-流
Apache Calcite教程-关系代数

...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-基础知识-关系代数]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89060701</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89060701</guid><author>QXC1281</author><pubDate>Sun, 07 Apr 2019 15:32:00 +0800</pubDate><description><![CDATA[推荐阅读《数据库查询优化器的艺术》
 关系代数解释
关系代数解释
关系代数

]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-官方翻译-流]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89060628</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89060628</guid><author>QXC1281</author><pubDate>Sat, 06 Apr 2019 21:20:03 +0800</pubDate><description><![CDATA[流介绍一个schema例子一个简单查询过滤行投影表达式滚动窗口改进滚动窗口跳跃窗口分组集合聚合之后过滤子查询，视图和SQL的闭包属性在流和关系之间转换饼图”问题：关于流的关系查询排序表构造函数滑动窗口级联窗口流表JOIN流流JOINDML标点符号流状态实现不实现在这个文件中函数参考文献
流
Calcite扩展了SQL和关系代数，以支持流式查询。

介绍
一个schema例子
一个简单查询
过滤行...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-官方翻译-空间]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89060589</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89060589</guid><author>QXC1281</author><pubDate>Sat, 06 Apr 2019 21:16:01 +0800</pubDate><description><![CDATA[空间 -  全篇没有看明白啥意思介绍用空间支持
空间 -  全篇没有看明白啥意思
Calcite的目标(aiming)是实现SQL的1.2(version 1.2)版本OpenGIS简单特征实现规范，
这是由PostGIS和H2GIS等空间数据库实现的标准。
我们还旨在为空间索引spatial indexes和其他形式的查询优化添加优化器支持。

介绍
启用空间支持
致谢

介绍
空间数据库是针...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-官方翻译-适配器]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89060570</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89060570</guid><author>QXC1281</author><pubDate>Sat, 06 Apr 2019 21:15:04 +0800</pubDate><description><![CDATA[适配器schema 适配器引擎驱动Server 服务器可扩展性函数与操作符聚合函数窗口函数分组窗口函数表函数和表宏 - 不理解含义扩展解析生成并使用SQL方言声明自定义Schema反射的Schema声明自定义表修改数据流将操作下推到表中类型系统关系运算符计划规则调用约定 Calling conventions - 不懂内置的SQL实现统计数据和成本
适配器
schema 适配器
模式适配器允许C...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-官方翻译-关系代数]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89060551</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89060551</guid><author>QXC1281</author><pubDate>Sat, 06 Apr 2019 21:13:50 +0800</pubDate><description><![CDATA[代数代数创建tablescan添加一个项目添加过滤器和聚合压栈和出栈字段名称和序号API摘要关系运算符堆栈方法Scalar expression methods模式方法组键方法聚合调用的方法
代数
关系代数是Calcite的核心。每个查询都被表示为一颗关联操作树。你可以将SQL翻译成关联代数，或者直接建立关联操作树。
规划器规则使用保留语义的数学标识来转换表达式树。例如，如果过滤器不引用来自其他...]]></description><category></category></item><item><title><![CDATA[Apache Calcite教程-官方翻译-教程]]></title><link>https://blog.youkuaiyun.com/QXC1281/article/details/89060524</link><guid>https://blog.youkuaiyun.com/QXC1281/article/details/89060524</guid><author>QXC1281</author><pubDate>Sat, 06 Apr 2019 21:11:42 +0800</pubDate><description><![CDATA[快速入门下载安装**环境准备：** java版本\(8 9 10）开始：模式发现schemas中的Tables和views自定义表模型中的注释执行计划优化查询查询优化过程JDBC适配器克隆JDBC适配器更多的主题
快速入门
本章主要介绍一个简单的CSV适配器如何一步一步的创建和连接到Calcite。这个适配器能够将一个目录下面的csv文件表现成一个包含各种表的schema。Calcite已经实现...]]></description><category></category></item></channel></rss>