Apache Calcite 是否可以将基于 JDBC 的查询映射为虚拟表?我想向用户公开一个表,但在幕后将其实现为通过 jdbc 对数据源的查询。我知道我可以继承 Table 并在必要时实现自己,但我想看看是否有支持的方式来做到这一点。
任何建议,将不胜感激。
Apache Calcite 是否可以将基于 JDBC 的查询映射为虚拟表?我想向用户公开一个表,但在幕后将其实现为通过 jdbc 对数据源的查询。我知道我可以继承 Table 并在必要时实现自己,但我想看看是否有支持的方式来做到这一点。
任何建议,将不胜感激。
听起来您想要做的是创建一个视图。您可以在教程中看到一个示例。可以将视图定义添加到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\'' } ] } ] }