个人简介

Echo Blog


江湖无名 安心练剑
  • Apache Calcite advanced 03 streaming 流
    介绍 流(Streams)是持续流动且永无止境的记录集合。 与表不同,它们通常不存储在磁盘上,而是通过网络流动,并在内存中短暂地保存。 流与表相辅相成,因为它们代表了企业当前和未来发生的事情,而表则代表了过去。将流存档到表中是非常常见的。 与表类似,您经常希望使用基于关系代数的高级语言查询流,根据模式进行验证,并针对可用资源和算法进行优化。 Calcite 的 SQL 是标准 SQ...
    2024-01-10 13:01:55 | Database
  • Apache Calcite advanced 02 Spatial 空间
    空间 (Spatial) Calcite 的目标是实现 OpenGIS SQL 版本 1.2.1 的简单要素实现规范,这是由空间数据库(如 PostGIS 和 H2GIS)实现的标准。 我们还计划为空间索引和其他形式的查询优化添加优化器支持。 介绍 (Introduction) 空间数据库是针对存储和查询代表几何空间中定义的对象的数据进行优化的数据库。 Calcite 对空间数据的...
    2024-01-10 13:01:55 | Database
  • Apache Calcite advanced 01 Adapters 适配器
    模式适配器 模式适配器允许 Calcite 读取特定类型的数据,并将数据呈现为模式中的表。 卡桑德拉适配器(calcite-cassandra) CSV 适配器(example/csv) Druid 适配器(calcite-druid) Elasticsearch 适配器(calcite-elasticsearch) 文件适配器(calcite-file) Geode 适配器(calci...
    2024-01-10 13:01:55 | Database
  • Apache Calcite 如何基于 calcite 自定义实现一个数据库-51-支持过滤的简单 csv 数据库
    思路 直接参考 calcite csv 模块的代码,实现一个最简单版本的 csv database. 官方过滤的例子 官方的例子看了下应该只是支持 2 个 AND 和 EUQALS CsvFilterableTable.java private static boolean addFilter(RexNode filter, @Nullable Object[] filt...
    2024-01-10 13:01:55 | Database
  • Apache Calcite 如何基于 calcite 自定义实现一个数据库-51-简单版本 csv?
    思路 直接参考 calcite csv 模块的代码,实现一个最简单版本的 csv database. csv 官方的使用方法 我们先学习下,原来的官方 csv 如何使用的。 package com.github.houbb.calcite.learn.basic; import org.apache.calcite.adapter.csv.CsvSchema; import org...
    2024-01-10 13:01:55 | Database
  • Apache Calcite 如何基于 calcite 自定义实现一个数据库?
    参考资料 今天教大家借助一款框架快速实现一个数据库,这个框架就是Calcite,下面会带大家通过两个例子快速教会大家怎么实现,一个是可以通过 SQL 语句的方式可以直接查询文件内容,第二个是模拟 Mysql 查询功能,以及最后告诉大家怎么实现 SQL 查询 Kafka 数据。 Calcite Calcite 是一个用于优化异构数据源的查询处理的可插拔基础框架(他是一个框架),可以将...
    2024-01-10 13:01:55 | Database
  • Apache Calcite 源码分析-06-ES schema
    概述 简单看一下 ES 的查询是如何实现的 ElasticsearchSchema 基本属性 public class ElasticsearchSchema extends AbstractSchema { //es client private final RestClient client; private final ObjectMapper mapper;...
    2024-01-10 13:01:55 | Database
  • Apache Calcite 源码分析-05-csv table schema
    测试例子 代码 import org.apache.calcite.adapter.csv.CsvSchema; import org.apache.calcite.adapter.csv.CsvTable; import org.apache.calcite.jdbc.CalciteConnection; import org.apache.calcite.schema.SchemaP...
    2024-01-10 13:01:55 | Database