You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Leonard Xu (Jira)" <ji...@apache.org> on 2020/07/01 13:48:00 UTC

[jira] [Commented] (FLINK-17190) SQL client does not support views that reference a table from DDL

    [ https://issues.apache.org/jira/browse/FLINK-17190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17149452#comment-17149452 ] 

Leonard Xu commented on FLINK-17190:
------------------------------------

This has supported in FLINK-17728,  I close this issue, feel free to reopen if you have any concern

> SQL client does not support views that reference a table from DDL
> -----------------------------------------------------------------
>
>                 Key: FLINK-17190
>                 URL: https://issues.apache.org/jira/browse/FLINK-17190
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Client
>    Affects Versions: 1.10.0
>            Reporter: Timo Walther
>            Priority: Major
>
> It seems to be a classloading issue when the view references a DDL table.
> {code}
> CREATE TABLE PROD_LINEITEM (
>   L_ORDERKEY       INTEGER,
>   L_PARTKEY        INTEGER,
>   L_SUPPKEY        INTEGER,
>   L_LINENUMBER     INTEGER,
>   L_QUANTITY       DOUBLE,
>   L_EXTENDEDPRICE  DOUBLE,
>   L_DISCOUNT       DOUBLE,
>   L_TAX            DOUBLE,
>   L_CURRENCY       STRING,
>   L_RETURNFLAG     STRING,
>   L_LINESTATUS     STRING,
>   L_ORDERTIME      TIMESTAMP(3),
>   L_SHIPINSTRUCT   STRING,
>   L_SHIPMODE       STRING,
>   L_COMMENT        STRING,
>   WATERMARK FOR L_ORDERTIME AS L_ORDERTIME - INTERVAL '5' MINUTE,
>   L_PROCTIME       AS PROCTIME()
> ) WITH (
>   'connector.type' = 'kafka',
>   'connector.version' = 'universal',
>   'connector.topic' = 'Lineitem',
>   'connector.properties.zookeeper.connect' = 'not-needed',
>   'connector.properties.bootstrap.servers' = 'kafka:9092',
>   'connector.startup-mode' = 'earliest-offset',
>   'format.type' = 'csv',
>   'format.field-delimiter' = '|'
> );
> CREATE VIEW v AS SELECT * FROM PROD_LINEITEM;
> {code}
> Result:
> {code}
> Exception in thread "main" org.apache.flink.table.client.SqlClientException: Unexpected exception. This is a bug. Please consider filing an issue.
> 	at org.apache.flink.table.client.SqlClient.main(SqlClient.java:190)
> Caused by: org.apache.flink.table.api.TableException: findAndCreateTableSource failed.
> 	at org.apache.flink.table.factories.TableFactoryUtil.findAndCreateTableSource(TableFactoryUtil.java:55)
> 	at org.apache.flink.table.factories.TableFactoryUtil.findAndCreateTableSource(TableFactoryUtil.java:92)
> 	at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.findAndCreateTableSource(CatalogSourceTable.scala:156)
> 	at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.tableSource$lzycompute(CatalogSourceTable.scala:65)
> 	at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.tableSource(CatalogSourceTable.scala:65)
> 	at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.toRel(CatalogSourceTable.scala:76)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.toRel(SqlToRelConverter.java:3328)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:2357)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2051)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2005)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:646)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:627)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3181)
> 	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:563)
> 	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$rel(FlinkPlannerImpl.scala:148)
> 	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:135)
> 	at org.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:522)
> 	at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:436)
> 	at org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:154)
> 	at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:66)
> 	at org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:464)
> 	at org.apache.flink.table.client.gateway.local.LocalExecutor.addView(LocalExecutor.java:300)
> 	at org.apache.flink.table.client.cli.CliClient.callCreateView(CliClient.java:579)
> 	at org.apache.flink.table.client.cli.CliClient.callCommand(CliClient.java:308)
> 	at java.util.Optional.ifPresent(Optional.java:159)
> 	at org.apache.flink.table.client.cli.CliClient.open(CliClient.java:200)
> 	at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:125)
> 	at org.apache.flink.table.client.SqlClient.start(SqlClient.java:104)
> 	at org.apache.flink.table.client.SqlClient.main(SqlClient.java:178)
> Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.factories.TableSourceFactory' in
> the classpath.
> Reason: Required context properties mismatch.
> The matching candidates:
> org.apache.flink.table.sources.CsvBatchTableSourceFactory
> Mismatched properties:
> 'connector.type' expects 'filesystem', but is 'kafka'
> ....
> The following factories have been considered:
> org.apache.flink.table.sources.CsvBatchTableSourceFactory
> org.apache.flink.table.sources.CsvAppendTableSourceFactory
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)