Miguel Serrano created FLINK-14520: -------------------------------------- Summary: Could not find a suitable table factory, but Factory is available Key: FLINK-14520 URL: https://issues.apache.org/jira/browse/FLINK-14520 Project: Flink Issue Type: Bug Components: Table SQL / API Affects Versions: 1.9.1, 1.9.0 Environment: MacOS 10.14.5 and Ubuntu 16.10 Reporter: Miguel Serrano Attachments: example.zip
*Description* Flink can't find JSON table factory. {color:#24292e}JsonRowFormatFactory{color} is considered but won't match properties. gist with code and error: [https://gist.github.com/mserranom/4b2e0088b6000b892c38bd7f93d4fe73] Attached is a zip file for reproduction. *Error message excerpt* {code:java} rg.apache.flink.table.api.TableException: findAndCreateTableSink failed. at org.apache.flink.table.factories.TableFactoryUtil.findAndCreateTableSink(TableFactoryUtil.java:87) at org.apache.flink.table.factories.TableFactoryUtil.findAndCreateTableSink(TableFactoryUtil.java:77) ... Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.factories.TableSinkFactory' in the classpath. ... The following properties are requested: connector.path=file://./data.json connector.property-version=1 connector.type=filesystem format.derive-schema=true format.fail-on-missing-field=false format.property-version=1 format.type=json schema.0.name=f0 schema.0.type=BIGINT update-mode=append ... The following factories have been considered: org.apache.flink.formats.json.JsonRowFormatFactory org.apache.flink.table.sources.CsvBatchTableSourceFactory ... {code} *Code* {code:java} StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); EnvironmentSettings settings = EnvironmentSettings.newInstance().useOldPlanner().inStreamingMode().build(); StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env, settings); DataStreamSource<Long> stream = env.fromElements(1L, 21L, 22L); Table table = tableEnv.fromDataStream(stream); tableEnv.registerTable("data", table); tableEnv .connect(new FileSystem().path("file://./data.json")) .withSchema(new Schema().field("f0", Types.LONG)) .withFormat(new Json().failOnMissingField(false).deriveSchema()) .inAppendMode() .registerTableSink("sink"); env.execute(); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)