Github user fhueske commented on a diff in the pull request: https://github.com/apache/flink/pull/4020#discussion_r119223115 --- Diff: docs/dev/table/streaming.md --- @@ -39,17 +39,293 @@ Dynamic table Time Attributes --------------- -### Event-time +Flink supports different notions of *time* in streaming programs. -* DataStream: Timestamps & WMs required, `.rowtime` (replace attribute or extend schema) -* TableSource: Timestamps & WMs & DefinedRowtimeAttribute +- *Processing time* refers to the system time of the machine (also known as "wall-clock time") that is executing the respective operation. +- *Event time* is the time that each individual event occurred on its producing device. +- *Ingestion time* is the time that events enter Flink, internally, it is treated similar to event time. -{% top %} +For more information about time handling in Flink, see the introduction about [Event Time and Watermarks]({{ site.baseurl }}/dev/event_time.html). + +Table programs assume that a corresponding time characteristic has been specified for the streaming environment: + +<div class="codetabs" markdown="1"> +<div data-lang="java" markdown="1"> +{% highlight java %} +final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); + +env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime); // default + +// alternatively: +// env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime); +// env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime); +{% endhighlight %} +</div> +<div data-lang="scala" markdown="1"> +{% highlight scala %} +val env = StreamExecutionEnvironment.getExecutionEnvironment + +env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime) //default + +// alternatively: +// env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime) +// env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime) +{% endhighlight %} +</div> +</div> + +Time-based operations such as [windows]({{ site.baseurl }}/dev/table/tableApi.html) in both the Table API and SQL require information about the notion of time and its origin. Therefore, tables can offer *logical time attributes* for indicating time and accessing corresponding timestamps in table programs. --- End diff -- links on "Table API" and "SQL" for the respective sections in the documentation.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---