You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by hx...@apache.org on 2022/11/16 02:36:42 UTC

[flink] 03/03: [FLINK-29966][python][doc] Adds PyFlink examples doc

This is an automated email from the ASF dual-hosted git repository.

hxb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit bf40e2dc57ebef2e50b0686a480992d77acd8cfa
Author: huangxingbo <hx...@apache.org>
AuthorDate: Wed Nov 9 19:13:40 2022 +0800

    [FLINK-29966][python][doc] Adds PyFlink examples doc
    
    This closes #21280.
---
 .../docs/examples/datastream/basic_operations.rst  | 23 +++++++++
 .../docs/examples/datastream/connectors.rst        | 49 +++++++++++++++++++
 flink-python/docs/examples/datastream/index.rst    | 32 +++++++++++++
 .../docs/examples/datastream/process_json_data.rst | 23 +++++++++
 flink-python/docs/examples/datastream/state.rst    | 23 +++++++++
 flink-python/docs/examples/datastream/timer.rst    | 23 +++++++++
 flink-python/docs/examples/datastream/window.rst   | 55 ++++++++++++++++++++++
 .../docs/examples/datastream/word_count.rst        | 23 +++++++++
 flink-python/docs/examples/index.rst               | 27 +++++++++++
 .../docs/examples/table/basic_operations.rst       | 23 +++++++++
 flink-python/docs/examples/table/index.rst         | 32 +++++++++++++
 .../table/mixing_use_of_datastream_and_table.rst   | 23 +++++++++
 flink-python/docs/examples/table/multi_sink.rst    | 23 +++++++++
 flink-python/docs/examples/table/pandas.rst        | 32 +++++++++++++
 .../docs/examples/table/process_json_data.rst      | 32 +++++++++++++
 flink-python/docs/examples/table/window.rst        | 36 ++++++++++++++
 flink-python/docs/examples/table/word_count.rst    | 23 +++++++++
 17 files changed, 502 insertions(+)

diff --git a/flink-python/docs/examples/datastream/basic_operations.rst b/flink-python/docs/examples/datastream/basic_operations.rst
new file mode 100644
index 00000000000..1776940d37c
--- /dev/null
+++ b/flink-python/docs/examples/datastream/basic_operations.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+================
+Basic Operations
+================
+
+.. literalinclude:: ../../../pyflink/examples/datastream/basic_operations.py
diff --git a/flink-python/docs/examples/datastream/connectors.rst b/flink-python/docs/examples/datastream/connectors.rst
new file mode 100644
index 00000000000..d46f0dd4565
--- /dev/null
+++ b/flink-python/docs/examples/datastream/connectors.rst
@@ -0,0 +1,49 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+==========
+Connectors
+==========
+
+Kafka
+=====
+
+Kafka With CSV Format
+----------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/connectors/kafka_csv_format.py
+
+Kafka With Json Format
+----------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/connectors/kafka_json_format.py
+
+Kafka With Avro Format
+----------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/connectors/kafka_avro_format.py
+
+Pulsar
+======
+
+.. literalinclude:: ../../../pyflink/examples/datastream/connectors/pulsar.py
+
+Elasticsearch
+=============
+
+.. literalinclude:: ../../../pyflink/examples/datastream/connectors/elasticsearch.py
diff --git a/flink-python/docs/examples/datastream/index.rst b/flink-python/docs/examples/datastream/index.rst
new file mode 100644
index 00000000000..c1809114567
--- /dev/null
+++ b/flink-python/docs/examples/datastream/index.rst
@@ -0,0 +1,32 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+===================
+DataStream Examples
+===================
+
+.. toctree::
+    :maxdepth: 2
+
+    word_count
+    process_json_data
+    basic_operations
+    timer
+    state
+    window
+    connectors
diff --git a/flink-python/docs/examples/datastream/process_json_data.rst b/flink-python/docs/examples/datastream/process_json_data.rst
new file mode 100644
index 00000000000..46891e32249
--- /dev/null
+++ b/flink-python/docs/examples/datastream/process_json_data.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+=================
+Json Data Process
+=================
+
+.. literalinclude:: ../../../pyflink/examples/datastream/process_json_data.py
diff --git a/flink-python/docs/examples/datastream/state.rst b/flink-python/docs/examples/datastream/state.rst
new file mode 100644
index 00000000000..8287de621ee
--- /dev/null
+++ b/flink-python/docs/examples/datastream/state.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+=====
+State
+=====
+
+.. literalinclude:: ../../../pyflink/examples/datastream/state_access.py
diff --git a/flink-python/docs/examples/datastream/timer.rst b/flink-python/docs/examples/datastream/timer.rst
new file mode 100644
index 00000000000..cec35e91238
--- /dev/null
+++ b/flink-python/docs/examples/datastream/timer.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+=====
+Timer
+=====
+
+.. literalinclude:: ../../../pyflink/examples/datastream/event_time_timer.py
diff --git a/flink-python/docs/examples/datastream/window.rst b/flink-python/docs/examples/datastream/window.rst
new file mode 100644
index 00000000000..fe963d4b45c
--- /dev/null
+++ b/flink-python/docs/examples/datastream/window.rst
@@ -0,0 +1,55 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+======
+Window
+======
+
+Tumble Window
+=============
+
+Tumbling Time Window
+--------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/windowing/tumbling_time_window.py
+
+Tumbling Count Window
+---------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/windowing/tumbling_count_window.py
+
+Sliding Window
+==============
+
+Sliding Time Window
+-------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/windowing/sliding_time_window.py
+
+Session Window
+==============
+
+Session With Gap Window
+-----------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/windowing/session_with_gap_window.py
+
+Session With Dynamic Gap Window
+-------------------------------
+
+.. literalinclude:: ../../../pyflink/examples/datastream/windowing/session_with_dynamic_gap_window.py
diff --git a/flink-python/docs/examples/datastream/word_count.rst b/flink-python/docs/examples/datastream/word_count.rst
new file mode 100644
index 00000000000..8d2bf533509
--- /dev/null
+++ b/flink-python/docs/examples/datastream/word_count.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+==========
+Word Count
+==========
+
+.. literalinclude:: ../../../pyflink/examples/datastream/word_count.py
diff --git a/flink-python/docs/examples/index.rst b/flink-python/docs/examples/index.rst
new file mode 100644
index 00000000000..a240470778a
--- /dev/null
+++ b/flink-python/docs/examples/index.rst
@@ -0,0 +1,27 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+========
+Examples
+========
+
+.. toctree::
+    :maxdepth: 2
+
+    table/index
+    datastream/index
\ No newline at end of file
diff --git a/flink-python/docs/examples/table/basic_operations.rst b/flink-python/docs/examples/table/basic_operations.rst
new file mode 100644
index 00000000000..dfae9f5cf15
--- /dev/null
+++ b/flink-python/docs/examples/table/basic_operations.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+================
+Basic Operations
+================
+
+.. literalinclude:: ../../../pyflink/examples/table/basic_operations.py
diff --git a/flink-python/docs/examples/table/index.rst b/flink-python/docs/examples/table/index.rst
new file mode 100644
index 00000000000..192682b3877
--- /dev/null
+++ b/flink-python/docs/examples/table/index.rst
@@ -0,0 +1,32 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+==============
+Table Examples
+==============
+
+.. toctree::
+    :maxdepth: 2
+
+    word_count
+    process_json_data
+    basic_operations
+    mixing_use_of_datastream_and_table
+    pandas
+    window
+    multi_sink
diff --git a/flink-python/docs/examples/table/mixing_use_of_datastream_and_table.rst b/flink-python/docs/examples/table/mixing_use_of_datastream_and_table.rst
new file mode 100644
index 00000000000..c31797a8d98
--- /dev/null
+++ b/flink-python/docs/examples/table/mixing_use_of_datastream_and_table.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+==================================
+Mixing Use Of Datastream And Table
+==================================
+
+.. literalinclude:: ../../../pyflink/examples/table/mixing_use_of_datastream_and_table.py
diff --git a/flink-python/docs/examples/table/multi_sink.rst b/flink-python/docs/examples/table/multi_sink.rst
new file mode 100644
index 00000000000..c1df44eaa97
--- /dev/null
+++ b/flink-python/docs/examples/table/multi_sink.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+==========
+Multi Sink
+==========
+
+.. literalinclude:: ../../../pyflink/examples/table/multi_sink.py
diff --git a/flink-python/docs/examples/table/pandas.rst b/flink-python/docs/examples/table/pandas.rst
new file mode 100644
index 00000000000..e171d7dd124
--- /dev/null
+++ b/flink-python/docs/examples/table/pandas.rst
@@ -0,0 +1,32 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+======
+Pandas
+======
+
+Pandas UDAF
+-----------
+
+.. literalinclude:: ../../../pyflink/examples/table/pandas/pandas_udaf.py
+
+
+Conversion From DataFrame
+-------------------------
+
+.. literalinclude:: ../../../pyflink/examples/table/pandas/conversion_from_dataframe.py
diff --git a/flink-python/docs/examples/table/process_json_data.rst b/flink-python/docs/examples/table/process_json_data.rst
new file mode 100644
index 00000000000..ef2cda81466
--- /dev/null
+++ b/flink-python/docs/examples/table/process_json_data.rst
@@ -0,0 +1,32 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+=================
+Json Data Process
+=================
+
+Process Json Data
+--------------------------
+
+.. literalinclude:: ../../../pyflink/examples/table/process_json_data.py
+
+
+Process Json Data With UDF
+--------------------------
+
+.. literalinclude:: ../../../pyflink/examples/table/process_json_data_with_udf.py
diff --git a/flink-python/docs/examples/table/window.rst b/flink-python/docs/examples/table/window.rst
new file mode 100644
index 00000000000..8ce06ba5ccf
--- /dev/null
+++ b/flink-python/docs/examples/table/window.rst
@@ -0,0 +1,36 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+======
+Window
+======
+
+Tumble Window
+-------------
+
+.. literalinclude:: ../../../pyflink/examples/table/windowing/tumble_window.py
+
+Sliding Window
+--------------
+
+.. literalinclude:: ../../../pyflink/examples/table/windowing/sliding_window.py
+
+Session Window
+--------------
+
+.. literalinclude:: ../../../pyflink/examples/table/windowing/session_window.py
diff --git a/flink-python/docs/examples/table/word_count.rst b/flink-python/docs/examples/table/word_count.rst
new file mode 100644
index 00000000000..af2f509e297
--- /dev/null
+++ b/flink-python/docs/examples/table/word_count.rst
@@ -0,0 +1,23 @@
+.. ################################################################################
+     Licensed to the Apache Software Foundation (ASF) under one
+     or more contributor license agreements.  See the NOTICE file
+     distributed with this work for additional information
+     regarding copyright ownership.  The ASF licenses this file
+     to you under the Apache License, Version 2.0 (the
+     "License"); you may not use this file except in compliance
+     with the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+    limitations under the License.
+   ################################################################################
+
+==========
+Word Count
+==========
+
+.. literalinclude:: ../../../pyflink/examples/table/word_count.py