[ 
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)

Reply via email to