Calcite源码阅读二

简介: 如何利用calcite框架使用sql读取csv文件

一、利用calcite项目使用sql读取csv文件
进入calcite的example/csv module,在该module下新建main方法的函数,代码如下

  public static void main(String[] args) throws Exception{
  Properties info = new Properties();
  info.put("model",
      "inline:"
          + "{\n"
          + "  version: '1.0',\n"
          + "  defaultSchema: 'SALES',\n"
          + "   schemas: [\n"
          + "     {\n"
          + "       name: 'SALES',\n"
          + "       tables: [\n"
          + "         {\n"
          + "           name: 'DEPTS',\n"
          + "           type: 'custom',\n"
          + "           factory: 'org.apache.calcite.adapter.csv.CsvTableFactory',\n"
          + "           operand: {\n"
          + "             file: '/Users/xxx/project/calcite/example/csv/src/test/resources/sales/DEPTS.csv',\n"
          + "             flavor: 'scannable'\n"
          + "           }\n"
          + "         }\n"
          + "       ]\n"
          + "     }\n"
          + "   ]\n"
          + "}");
  Connection connection = DriverManager.getConnection("jdbc:calcite:", info);
  Statement statement = connection.createStatement();
  ResultSet rs = statement.executeQuery("select * from DEPTS");
  while (rs.next()) {
    System.out.println(rs.getString(1));
  }
  rs.close();
  statement.close();
  connection.close();
}

其中file是自己本地文件路径,通过这种方式可以使用select方法访问DEPTS.csv文件,执行项目输出

  10
  20
  30

至此,我们完成了calcite项目的基本使用方式

目录
相关文章
|
8月前
|
SQL Java 数据库连接
Apache Zeppelin系列教程第四篇——JDBCInterpreter原理分析
Apache Zeppelin系列教程第四篇——JDBCInterpreter原理分析
84 0
|
8月前
|
存储 SQL 关系型数据库
Apache Doris 聚合函数源码阅读与解析|源码解读系列
Apache Doris Active Contributor 隐形通过本文记录下对源码的理解,以方便新人快速上手源码开发。
Apache Doris 聚合函数源码阅读与解析|源码解读系列
|
SQL 资源调度 前端开发
深度剖析Dinky源码(下)
深度剖析Dinky源码(下)
378 0
|
资源调度 前端开发 Java
深度剖析Dinky源码(上)
深度剖析Dinky源码
491 0
|
Java Apache 开发工具
Flink 源码阅读环境搭建
阅读优秀的源码是提升我们代码技能最重要的手段之一,工欲善其事必先利其器,所以,搭建好源码阅读环境是我们阅读的第一步。
|
SQL Web App开发 JSON
深度剖析Dinky源码
深度剖析Dinky源码
927 0
|
SQL Web App开发 流计算
Flink入坑指南第五章 - 语法糖 view
Flink入坑指南系列文章,从实际例子入手,一步步引导用户零基础入门实时计算/Flink,并成长为使用Flink的高阶用户。本文属个人原创,仅做技术交流之用,笔者才疏学浅,如有错误,欢迎指正。 什么是view(视图):视图无非就是存储在数据库中并具有名字的 SQL 语句,或者说是以预定义的 SQL 查询的形式存在的数据表的成分。
3909 0
|
SQL 存储 自然语言处理
看这篇就够了丨基于Calcite框架的SQL语法扩展探索
Calcite在大数据系统中有着广泛的运用, 比如Apache Flink, Apache Drill等都大量使用了Calcite,理解Calcite的原理可以说已经成为理解大数据系统中SQL访问层实现原理的必备条件之一。 本文就为大家详细介绍如何基于Calcite框架的SQL语法扩展探索使之更符合你的业务需求,以及扩展SQL在数栈产品的应用实践。对该技术感兴趣的同学点进文章阅读哦
1374 0
|
SQL 算法 中间件
sqlalchemy源码阅读-下篇
SQLAlchemy是Python SQL工具箱和ORM框架,它为应用程序开发人员提供了全面而灵活的SQL功能。它提供了一整套企业级持久化方案,旨在高效,高性能地访问数据库,并符合Pythonic之禅。项目代码量比较大,接近200个文件,7万行代码, 我们一起来挑战一下。
435 1
sqlalchemy源码阅读-下篇
|
数据库
Calcite源码阅读三
利用calcite和avatica创建自己的csv服务器数据库
584 0