[FLINK-15999][doc] Fix formatting and links in timely-stream-processing.md

上级 8d7c0dbe
......@@ -29,38 +29,47 @@ under the License.
## Time
When referring to time in a streaming program (for example to define windows), one can refer to different notions
of time:
When referring to time in a streaming program (for example to define windows),
one can refer to different notions of time:
- **Event Time** is the time when an event was created. It is usually described by a timestamp in the events,
for example attached by the producing sensor, or the producing service. Flink accesses event timestamps
via [timestamp assigners]({{ site.baseurl }}/dev/event_timestamps_watermarks.html).
- **Event Time** is the time when an event was created. It is usually
described by a timestamp in the events, for example attached by the
producing sensor, or the producing service. Flink accesses event timestamps
via [timestamp assigners]({{ site.baseurl
}}/dev/event_timestamps_watermarks.html).
- **Ingestion time** is the time when an event enters the Flink dataflow at the source operator.
- **Ingestion time** is the time when an event enters the Flink dataflow at
the source operator.
- **Processing Time** is the local time at each operator that performs a time-based operation.
- **Processing Time** is the local time at each operator that performs a
time-based operation.
<img src="{{ site.baseurl }}/fig/event_ingestion_processing_time.svg" alt="Event Time, Ingestion Time, and Processing Time" class="offset" width="80%" />
More details on how to handle time are in the [event time docs]({{ site.baseurl }}/dev/event_time.html).
More details on how to handle time are in the [event time docs]({{ site.baseurl
}}{% link dev/event_time.md %}).
{% top %}
## Windows
Aggregating events (e.g., counts, sums) works differently on streams than in batch processing.
For example, it is impossible to count all elements in a stream,
because streams are in general infinite (unbounded). Instead, aggregates on streams (counts, sums, etc),
are scoped by **windows**, such as *"count over the last 5 minutes"*, or *"sum of the last 100 elements"*.
Aggregating events (e.g., counts, sums) works differently on streams than in
batch processing. For example, it is impossible to count all elements in a
stream, because streams are in general infinite (unbounded). Instead,
aggregates on streams (counts, sums, etc), are scoped by **windows**, such as
*"count over the last 5 minutes"*, or *"sum of the last 100 elements"*.
Windows can be *time driven* (example: every 30 seconds) or *data driven* (example: every 100 elements).
One typically distinguishes different types of windows, such as *tumbling windows* (no overlap),
*sliding windows* (with overlap), and *session windows* (punctuated by a gap of inactivity).
Windows can be *time driven* (example: every 30 seconds) or *data driven*
(example: every 100 elements). One typically distinguishes different types of
windows, such as *tumbling windows* (no overlap), *sliding windows* (with
overlap), and *session windows* (punctuated by a gap of inactivity).
<img src="{{ site.baseurl }}/fig/windows.svg" alt="Time- and Count Windows" class="offset" width="80%" />
More window examples can be found in this [blog post](https://flink.apache.org/news/2015/12/04/Introducing-windows.html).
More details are in the [window docs](../dev/stream/operators/windows.html).
More window examples can be found in this [blog
post](https://flink.apache.org/news/2015/12/04/Introducing-windows.html). More
details are in the [window docs]({{ site.baseurl }}{% link
dev/stream/operators/windows.md %}).
{% top %}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册