是否可以在Apache Calcite中将基于JDBC的查询映射为虚拟表?我想向用户展示一个表,但是在后台已经将它实现为通过jdbc到数据源的查询。我知道我可以对Table进行子类化,并在必要时实现自己,但我想看看是否有支持的方法来实现这一点。
任何建议将不胜感激。
答案 0 :(得分:2)
听起来您想要做的就是创建一个视图。您可以在the tutorial中看到一个示例。可以将视图定义添加到您用来定义架构的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\'' } ] } ] }