3.8.1\repository\org\apache\lucene\lucene-analyzers-common\4.7.2\lucene-analyzers-common-4.7.2.jar" flink.cdc.SQL_02
Exception in thread “main” org.apache.flink.table.api.ValidationException: Unable to create a source for reading table ‘default_catalog.default_database.flink_test01’.
Table options are:
‘connector’=‘mysql-cdc’
‘database-name’=‘flink_test’
‘hostname’=‘10.108.6.218’
‘password’=‘123456’
‘port’=‘3306’
‘table-name’=‘test01’
‘username’=‘root’
at org.apache.flink.table.factories.FactoryUtil.createTableSource(FactoryUtil.java:137)
at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.createDynamicTableSource(CatalogSourceTable.java:116)
at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.toRel(CatalogSourceTable.java:82)
at org.apache.calcite.sql2rel.SqlToRelConverter.toRel(SqlToRelConverter.java:3585)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:2507)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2144)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2093)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2050)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:663)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:644)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3438)
at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:570)
at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.orga p a c h e apacheapacheflinkt a b l e tabletableplannerc a l c i t e calcitecalciteFlinkPlannerImpl$r e l ( F l i n k P l a n n e r I m p l . s c a l a : 169 ) a t o r g . a p a c h e . f l i n k . t a b l e . p l a n n e r . c a l c i t e . F l i n k P l a n n e r I m p l . r e l ( F l i n k P l a n n e r I m p l . s c a l a : 161 ) a t o r g . a p a c h e . f l i n k . t a b l e . p l a n n e r . o p e r a t i o n s . S q l T o O p e r a t i o n C o n v e r t e r . t o Q u e r y O p e r a t i o n ( S q l T o O p e r a t i o n C o n v e r t e r . j a v a : 989 ) a t o r g . a p a c h e . f l i n k . t a b l e . p l a n n e r . o p e r a t i o n s . S q l T o O p e r a t i o n C o n v e r t e r . c o n v e r t S q l Q u e r y ( S q l T o O p e r a t i o n C o n v e r t e r . j a v a : 958 ) a t o r g . a p a c h e . f l i n k . t a b l e . p l a n n e r . o p e r a t i o n s . S q l T o O p e r a t i o n C o n v e r t e r . c o n v e r t ( S q l T o O p e r a t i o n C o n v e r t e r . j a v a : 283 ) a t o r g . a p a c h e . f l i n k . t a b l e . p l a n n e r . d e l e g a t i o n . P a r s e r I m p l . p a r s e ( P a r s e r I m p l . j a v a : 101 ) a t o r g . a p a c h e . f l i n k . t a b l e . a p i . i n t e r n a l . T a b l e E n v i r o n m e n t I m p l . s q l Q u e r y ( T a b l e E n v i r o n m e n t I m p l . j a v a : 704 ) a t f l i n k . c d c . S Q L 0 2. m a i n ( S Q L 0 2. j a v a : 30 ) C a u s e d b y : j a v a . l a n g . N o S u c h M e t h o d E r r o r : o r g . a p a c h e . f l i n k . t a b l e . f a c t o r i e s . D y n a m i c T a b l e F a c t o r y rel(FlinkPlannerImpl.scala:169) at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:161) at org.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:989) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:958) at org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:283) at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:101) at org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:704) at flink.cdc.SQL_02.main(SQL_02.java:30) Caused by: java.lang.NoSuchMethodError: org.apache.flink.table.factories.DynamicTableFactoryrel(FlinkPlannerImpl.scala:169)atorg.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:161)atorg.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:989)atorg.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:958)atorg.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:283)atorg.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:101)atorg.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:704)atflink.cdc.SQL02.main(SQL02.java:30)Causedby:java.lang.NoSuchMethodError:org.apache.flink.table.factories.DynamicTableFactoryContext.getCatalogTable()Lorg/apache/flink/table/catalog/CatalogTable;
at com.alibaba.ververica.cdc.connectors.mysql.table.MySQLTableSourceFactory.createDynamicTableSource(MySQLTableSourceFactory.java:144)
at org.apache.flink.table.factories.FactoryUtil.createTableSource(FactoryUtil.java:134)
… 19 more
Process finished with exit code 1
原因: 此时采用的是flink-connector-mysql-cdc-1.3.0.jar, 我的flink版本采用的是1.13.2, 后面看了下flink 13版本的cdc至少需要采用1.4.0及以上版本