Apache calcite Quickstart

本文介绍了Apache Calcite框架的基本概念及其核心组件的功能。主要内容包括:Calcite如何将文本转换为SQL节点、验证SQL节点、将SQL节点转换为关系数学节点、通过规则优化计划以及执行计划的过程。此外还涉及了Calcite支持的不同类型的模式,如CSVSchema、ObjectSchema等。

【Calcite】Apache Calcite 框架初探及概念详解_董嘻嘻的博客-优快云博客_apache calcite

Apache Calcite介绍_pucheung的博客-优快云博客

Apache Calcite精简入门与学习指导_51CTO博客_apache calcite教程

Apache Calcite整体架构及处理流程 - 知乎

a) compile text to SqlNode

b) validate SqlNode 

c) convert SqlNode to RelNode (关系数学的节点)

d)optimize by rules

e) execute the plan

calcite ---CSV Schema

           --- ObjectSchema

           --- EleasticsearchSchema

           ---HbaseSchema

Coordinate(24,3,28,14) SELECT * FROM products org.apache.flink.table.api.ValidationException: Invalid metadata key 'meta.op' in column 'op_type' of table 'default_catalog.default_database.products'. The DynamicTableSource class 'com.ververica.cdc.connectors.postgres.table.PostgreSQLTableSource' supports the following metadata keys for reading: meta.table_name meta.op_type database_name meta.database_name meta.data_debezium schema_name meta.op_ts op_ts table_name meta.batch_id meta.sql_type meta.sql meta.update_before meta.ts meta.data meta.pk_names meta.is_ddl meta.data_canal meta.schema_name at com.qcloud.oceanus.launcher.RunnerUtils.toStatementSet(RunnerUtils.java:625) at com.qcloud.oceanus.launcher.RunnerUtils.doSubmitJob(RunnerUtils.java:172) at com.qcloud.oceanus.sqlpreview.SqlPreviewService.apply(SqlPreviewService.java:97) at com.qcloud.oceanus.ss.service.internal.SqlPreviewTask.lambda$null$2(SqlPreviewTask.java:130) at com.qcloud.oceanus.ss.util.ExecuteInFlinkLibraryUtils.execute(ExecuteInFlinkLibraryUtils.java:30) at com.qcloud.oceanus.ss.util.ExecuteInFlinkLibraryUtils.execute(ExecuteInFlinkLibraryUtils.java:23) at com.qcloud.oceanus.ss.service.internal.SqlPreviewTask.lambda$run$3(SqlPreviewTask.java:124) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.flink.table.api.ValidationException: Invalid metadata key 'meta.op' in column 'op_type' of table 'default_catalog.default_database.products'. The DynamicTableSource class 'com.ververica.cdc.connectors.postgres.table.PostgreSQLTableSource' supports the following metadata keys for reading: meta.table_name meta.op_type database_name meta.database_name meta.data_debezium schema_name meta.op_ts op_ts table_name meta.batch_id meta.sql_type meta.sql meta.update_before meta.ts meta.data meta.pk_names meta.is_ddl meta.data_canal meta.schema_name at org.apache.flink.table.planner.connectors.DynamicSourceUtils.lambda$validateAndApplyMetadata$5(DynamicSourceUtils.java:410) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.apache.flink.table.planner.connectors.DynamicSourceUtils.validateAndApplyMetadata(DynamicSourceUtils.java:402) at org.apache.flink.table.planner.connectors.DynamicSourceUtils.prepareDynamicSource(DynamicSourceUtils.java:155) at org.apache.flink.table.planner.connectors.DynamicSourceUtils.convertSourceToRel(DynamicSourceUtils.java:122) at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.toRel(CatalogSourceTable.java:118) at org.apache.calcite.sql2rel.SqlToRelConverter.toRel(SqlToRelConverter.java:3619) at org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:2559) at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2175) at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2095) at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2038) at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:669) at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:657) at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3462) at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:570) at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$rel(FlinkPlannerImpl.scala:215) at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:191) at org.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:1584) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:1339) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertValidatedSqlNode(SqlToOperationConverter.java:380) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:266) at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:106) at com.qcloud.oceanus.launcher.RunnerUtils.toStatementSet(RunnerUtils.java:582) ... 10 more [object Object]
05-22
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值