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项目的基本使用方式

目录
相关文章
|
测试技术 uml 容器
UML之包图(Package Diagram)
UML之包图(Package Diagram)
667 1
|
SQL 运维 数据可视化
Apache Calcite
Apache Calcite
|
大数据 数据管理 Docker
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
939 0
|
编译器 Shell Linux
Kotlin 开发环境配置指南
Kotlin 开发环境配置指南
700 0
|
11月前
|
移动开发 前端开发 JavaScript
React DnD:实现拖拽功能的终极方案?
本文首发于微信公众号“前端徐徐”,介绍了一个强大的 React 拖拽库——React DnD。React DnD 帮助开发者轻松创建复杂的拖拽界面,适用于 Trello 风格的应用、列表重排序、可拖拽的 UI 组件等场景。文章详细介绍了 React DnD 的基本信息、主要特点、使用场景及快速上手指南。
1045 3
React DnD:实现拖拽功能的终极方案?
|
存储 设计模式 Java
Java中的if-else语句:深入解析与应用实践
Java中的if-else语句:深入解析与应用实践
378 1
|
Java Spring
SpringBoot Admin OFFLINE
SpringBoot Admin OFFLINE
135 0
|
前端开发 JavaScript 架构师
react+typescript+umi+dva+antd
react+typescript+umi+dva+antd
224 0
|
人工智能 大数据 分布式计算
大数据公共数据集上线,免费试用TB级数据分析
本教程基于大数据AI公共数据集(淘宝、飞猪、阿里音乐、Github、TPC等),通过DataWorks与MaxCompute快速完成大数据分析。
8209 4
大数据公共数据集上线,免费试用TB级数据分析
|
关系型数据库 PostgreSQL
postgresql insert into插入记录时使用select子查询
postgresql insert into插入记录时使用select子查询
266 0

热门文章

最新文章