You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "radu (JIRA)" <ji...@apache.org> on 2017/05/07 18:46:04 UTC

[jira] [Commented] (FLINK-6476) Table environment register row data stream

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

radu commented on FLINK-6476:
-----------------------------

[~fhueske] [~sunjincheng121] [~shijinkui] [~stefano.bortoli] [~Yuhong_kyo] [~twalthr]

I found that there is a lack of support for registering as table source streams of type row. I believe we should support this to be more generic in the way we create table sources. Potenially we can transmit together with the stream the rowtype by creating a dedicated interface.

What do you think?

> Table environment register row data stream
> ------------------------------------------
>
>                 Key: FLINK-6476
>                 URL: https://issues.apache.org/jira/browse/FLINK-6476
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table API & SQL
>         Environment: java/scala
>            Reporter: radu
>            Assignee: radu
>              Labels: feature, patch
>
> Registering as table source streams with Row is currently not possible:
> Java:
> DataStream<Row> ds = ...
> tableEnv.registerDataStream("MyTableRow", ds, "a, b, c ...");
> org.apache.flink.table.api.TableException: Source of type Row(f0: Integer, f1: Long, f2: Integer, f3: String, f4: Integer) cannot be converted into Table.
> 	at org.apache.flink.table.api.TableEnvironment.getFieldInfo(TableEnvironment.scala:680)
> 	at org.apache.flink.table.api.StreamTableEnvironment.registerDataStreamInternal(StreamTableEnvironment.scala:363)
> 	at org.apache.flink.table.api.java.StreamTableEnvironment.registerDataStream(StreamTableEnvironment.scala:133)
> 	at org.apache.flink.table.api.java.stream.sql.SqlITCase.testRow2(SqlITCase.java:92)
> Scala:
> val ds:DataStream[Row] = ...
> tableEnv.registerDataStream("MyTableRow", ds, "a, b, c, d, e");
> org.apache.flink.api.java.typeutils.GenericTypeInfo cannot be cast to org.apache.flink.api.common.typeutils.CompositeType
> This can be supported by extending the in the  org.apache.flink.table.api.TableEnvironment
> getFieldInfo()
> and by constructing the StreamTableSource correspondingly



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)