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

ASF GitHub Bot commented on FLINK-8012:
---------------------------------------

GitHub user fhueske opened a pull request:

    https://github.com/apache/flink/pull/4974

    [FLINK-8012] [table] Fix TableSink config for tables with time attributes.

    ## What is the purpose of the change
    
    Fix the configuration of TableSinks for Tables with time attributes 
(`TimeIndicatorTypeInfo`).
    Time indicators types are internal and must not be exposed to the outside 
(such as TableSinks).
    
    ## Brief change log
    
    * the field type of time attributes (rowtime or proctime) is changed to 
their publicly visible type `SQL_TIMESTAMP`.
    * an existing test is adapted to check this case.
    
    ## Verifying this change
    
    * an existing test method in `TableSinkITCase` was adapted.
    
    ## Does this pull request potentially affect one of the following parts:
    
      - Dependencies (does it add or upgrade a dependency): **no**
      - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: **no**
      - The serializers: **no**
      - The runtime per-record code paths (performance sensitive): **no**
      - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: **no**
      - The S3 file system connector: **no**
    
    ## Documentation
    
      - Does this pull request introduce a new feature? **no**
      - If yes, how is the feature documented? **n/a**


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/fhueske/flink tableSinkConfig

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/4974.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #4974
    
----
commit ab8120da2e7f751da2b5760e5b17d76264dcfcab
Author: Fabian Hueske <fhue...@apache.org>
Date:   2017-11-07T16:57:39Z

    [FLINK-8012] [table] Fix TableSink config for tables with time attributes.

----


> Table with time attribute cannot be written to CsvTableSink
> -----------------------------------------------------------
>
>                 Key: FLINK-8012
>                 URL: https://issues.apache.org/jira/browse/FLINK-8012
>             Project: Flink
>          Issue Type: Bug
>          Components: Table API & SQL
>    Affects Versions: 1.4.0, 1.3.2
>            Reporter: Fabian Hueske
>            Assignee: Fabian Hueske
>            Priority: Critical
>             Fix For: 1.4.0, 1.3.3
>
>
> A Table with a time attribute ({{TimeIndicatorTypeInfo}}) cannot be written 
> to a {{CsvTableSink}}.
> Trying to do so results in the following exception:
> {code}
> Exception in thread "main" org.apache.flink.table.api.TableException: The 
> time indicator type is an internal type only.
>       at 
> org.apache.flink.table.api.TableEnvironment.org$apache$flink$table$api$TableEnvironment$$validateFieldType$1(TableEnvironment.scala:937)
>       at 
> org.apache.flink.table.api.TableEnvironment$$anonfun$generateRowConverterFunction$2.apply(TableEnvironment.scala:963)
>       at 
> org.apache.flink.table.api.TableEnvironment$$anonfun$generateRowConverterFunction$2.apply(TableEnvironment.scala:960)
>       at 
> scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
>       at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
>       at 
> org.apache.flink.table.api.TableEnvironment.generateRowConverterFunction(TableEnvironment.scala:960)
>       at 
> org.apache.flink.table.api.StreamTableEnvironment.getConversionMapper(StreamTableEnvironment.scala:289)
>       at 
> org.apache.flink.table.api.StreamTableEnvironment.translate(StreamTableEnvironment.scala:810)
>       at 
> org.apache.flink.table.api.StreamTableEnvironment.writeToSink(StreamTableEnvironment.scala:263)
>       at org.apache.flink.table.api.Table.writeToSink(table.scala:857)
>       at org.apache.flink.table.api.Table.writeToSink(table.scala:830)
> {code}
> The time attribute should be automatically converted into a {{SQL_TIMESTAMP}} 
> type.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to