| .. raw:: html |
| |
| <!-- |
| 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. |
| --> |
| |
| Overview |
| ========== |
| |
| .. image:: /assets/fig/pyflink.svg |
| :alt: PyFlink |
| :class: offset |
| :width: 50% |
| |
| PyFlink is a Python API for Apache Flink that allows you to build |
| scalable batch and streaming workloads, such as real-time data |
| processing pipelines, large-scale exploratory data analysis, Machine |
| Learning (ML) pipelines and ETL processes. If you're already familiar |
| with Python and libraries such as Pandas, then PyFlink makes it simpler |
| to leverage the full capabilities of the Flink ecosystem. Depending on |
| the level of abstraction you need, there are two different APIs that can |
| be used in PyFlink: |
| |
| - The **PyFlink Table API** allows you to write powerful relational |
| queries in a way that is similar to using SQL or working with tabular |
| data in Python. |
| - At the same time, the **PyFlink DataStream API** gives you lower-level |
| control over the core building blocks of Flink, `state <https://nightlies.apache.org/flink/flink-docs-stable/docs/concepts/stateful-stream-processing/>`_ and `time <https://nightlies.apache.org/flink/flink-docs-stable/docs/concepts/time/>`_, to build more complex stream processing use |
| cases. |
| |
| .. raw:: html |
| |
| <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 2rem 0;"> |
| <div> |
| <h3>Try PyFlink</h3> |
| <p>If you're interested in playing around with Flink, try one of our tutorials:</p> |
| <ul> |
| <li><a href="datastream_tutorial.html">Intro to PyFlink DataStream API</a></li> |
| <li><a href="table_api_tutorial.html">Intro to PyFlink Table API</a></li> |
| </ul> |
| </div> |
| <div> |
| <h3>Explore PyFlink</h3> |
| <p>The reference documentation covers all the details. Some starting points:</p> |
| <ul> |
| <li><a href="datastream/index.html">PyFlink DataStream API</a></li> |
| <li><a href="table/index.html">PyFlink Table API & SQL</a></li> |
| </ul> |
| </div> |
| </div> |
| |
| For more examples, you can also refer to `PyFlink Examples <https://github.com/apache/flink/tree/master/flink-python/pyflink/examples>`_. |
| |
| Get Help with PyFlink |
| ~~~~~~~~~~~~~~~~~~~~~ |
| |
| If you get stuck, check out our `community support |
| resources <https://flink.apache.org/community.html>`__. In particular, |
| Apache Flink's user mailing list is consistently ranked as one of the |
| most active of any Apache project, and is a great way to get help |
| quickly. |