0

Apache Calcite 是否可以将基于 JDBC 的查询映射为虚拟表?我想向用户公开一个表,但在幕后将其实现为通过 jdbc 对数据源的查询。我知道我可以继承 Table 并在必要时实现自己,但我想看看是否有支持的方式来做到这一点。

任何建议,将不胜感激。

4

1 回答 1

2

听起来您想要做的是创建一个视图。您可以在教程中看到一个示例。可以将视图定义添加到model.json您用于定义架构的视图中,如下例所示。

{
  version: '1.0',
  defaultSchema: 'SALES',
  schemas: [
    {
      name: 'SALES',
      type: 'custom',
      factory: 'org.apache.calcite.adapter.csv.CsvSchemaFactory',
      operand: {
        directory: 'target/test-classes/sales'
      },
      tables: [
        {
          name: 'FEMALE_EMPS',
          type: 'view',
          sql: 'SELECT * FROM emps WHERE gender = \'F\''
        }
      ]
    }
  ]
}
于 2018-07-05T14:03:45.403 回答