[ https://issues.apache.org/jira/browse/FLINK-8310?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fabian Hueske resolved FLINK-8310. ---------------------------------- Resolution: Not A Problem I've answered [your question on Stack Overflow|https://stackoverflow.com/questions/47947030/flink-1-4-column-rowtime-not-found-in-any-table/47947652#47947652]. Please reopen, if the issue turns out to be a bug. Thanks, Fabian > Flink 1.4 Column 'rowtime' not found in any table > ------------------------------------------------- > > Key: FLINK-8310 > URL: https://issues.apache.org/jira/browse/FLINK-8310 > Project: Flink > Issue Type: Bug > Components: Kafka Connector, Table API & SQL > Affects Versions: 1.4.0 > Environment: Ubuntu > JDK 8 > Reporter: Xuan Nguyen > Attachments: KafkaSqlStream.java > > > After following the > https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/table/sourceSinks.html#configure-a-rowtime-attribute > documentation. > I register the timestamp field, but I still get rowtime not found in any > table: > {code:java} > KafkaTableSource source = Kafka08JsonTableSource.builder()// set Kafka topic > .forTopic("alerting") > // set Kafka consumer properties > .withKafkaProperties(getKafkaProperties()) > // set Table schema > .withSchema(TableSchema.builder() > .field("tenant", Types.STRING()) > .field("message", Types.STRING()) > .field("frequency", Types.LONG()) > .field("timestamp", Types.SQL_TIMESTAMP()).build()) > .failOnMissingField(true) > .withRowtimeAttribute( > // "timestamp" is rowtime attribute > "timestamp", > // value of "timestamp" is extracted from existing field > with same name > new ExistingField("timestamp"), > // values of "timestamp" are at most out-of-order by 30 > seconds > new > BoundedOutOfOrderTimestamps(TimeUnit.DAYS.toMillis(1))) > .build(); > //register the alerting topic as kafka > tEnv.registerTableSource("kafka", source); > Table results = tEnv.sqlQuery("SELECT tenant, message, SUM(frequency) " + > "FROM kafka " + > "GROUP BY HOP(rowtime, INTERVAL '1' SECOND, INTERVAL '5' SECOND), > tenant, message"); > tEnv.toAppendStream(results, Row.class).print(); > {code} > I get the following error: > {code} > Exception in thread "main" org.apache.flink.table.api.ValidationException: > SQL validation failed. From line 1, column 64 to line 1, column 70: Column > 'rowtime' not found in any table at > org.apache.flink.table.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:93) > at > org.apache.flink.table.api.TableEnvironment.sqlQuery(TableEnvironment.scala:561) > at oracle.flink.demo.KafkaSQLStream.main(KafkaSQLStream.java:62) Caused by: > org.apache.calcite.runtime.CalciteContextException: From line 1, column 64 to > line 1, column 70: Column 'rowtime' not found in any table at > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at > org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)