[
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 <[email protected]>
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)