Registry /
workflow / apache-airflow-providers-apache-flink
Install & Compatibility
Where this runs
tested against v1.8.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.940 runs
installs and imports cleanly · install 0.0s · import 0.000s · 382.1MB
glibcpy 3.10–3.940 runs
installs and imports cleanly · install 29.0s · import 0.000s · 382MB
380MB installed
● package 380MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
FlinkOperator
✓ from airflow.providers.apache.flink.operators.flink import FlinkOperator
✗ from airflow.providers.apache.flink.operators.flink import FlinkOperator
This quickstart demonstrates a basic Airflow DAG using the `FlinkOperator` to submit a Flink job. Ensure that you have a Flink connection configured in your Airflow environment (e.g., named 'flink_default') and replace `/path/to/my-flink-job.jar` with the actual path to your Flink job JAR file. For Kubernetes deployments, the Flink image can be configured via `FLINK_K8S_IMAGE` environment variable.
from __future__ import annotations
import os
import pendulum
from airflow.models.dag import DAG
from airflow.providers.apache.flink.operators.flink import FlinkOperator
with DAG(
dag_id="flink_example_dag",
start_date=pendulum.datetime(2023, 1, 1, tz="UTC"),
schedule=None,
catchup=False,
tags=["flink", "example"],
) as dag:
submit_flink_job = FlinkOperator(
task_id="submit_example_flink_job",
job_name="my_example_flink_job",
main_class="com.example.flink.MyJob",
jar="/path/to/my-flink-job.jar",
flink_configuration={
"taskmanager.memory.process.size": "2g",
"kubernetes.container.image": os.environ.get("FLINK_K8S_IMAGE", "flink:latest"),
},
# Ensure a Flink connection is configured in Airflow UI with ID 'flink_default'
# flink_conn_id="flink_default",
)
Debug
Known issues
breakingAirflow provider packages, including apache-airflow-providers-apache-flink, have minimum Apache Airflow core version requirements that change with new provider releases. For instance, provider version 1.8.0 requires Airflow 2.11.0+, while older versions might support earlier Airflow versions. Installing a newer provider with an older Airflow core can lead to unexpected errors or incompatibility.fixAlways check the provider's official documentation or changelog for the `Requirements` section to verify the minimum supported Airflow version before upgrading. Ensure your Airflow environment meets these requirements.
affects: <1.8.0 with Airflow >=2.11.0, or >=1.8.0 with Airflow <2.11.0
gotchaWhen deploying Airflow in distributed environments (e.g., Docker, Kubernetes), the `apache-airflow-providers-apache-flink` package must be installed on all relevant Airflow components, including the scheduler, webserver, and workers. Failing to install the provider consistently across all components can result in errors like DAGs not appearing or tasks failing due to missing imports.fixInclude `pip install apache-airflow-providers-apache-flink` in your Airflow Dockerfile or ensure it's part of your `requirements.txt` used for building Airflow images or installing dependencies on all nodes.
affects: All versions in distributed Airflow setups.
gotchaThe `FlinkKubernetesOperator`'s `application_file` parameter can accept either a path to a `.yaml` or `.json` file, or a YAML/JSON string directly. There have been reported issues where passing a file path might not work as expected, while passing the content as a string resolves the issue. This can be a subtle parsing problem.fixIf encountering issues with `application_file` as a path, try reading the file content into a string and passing the string directly to the `application_file` parameter. For example, `application_file=open('flink_deployment.yaml').read()`. affects: Potentially all versions using `FlinkKubernetesOperator`.
Upgrade
Version history
1.8.5latest on PyPI · released Jun 7, 2026
Audit
Dependencies
apache-airflowrequiredCore Airflow functionality is required to use this provider.
apache-airflow-providers-common-compatoptionalProvides common compatibility features across providers.
cryptographyrequiredRequired for secure operations, likely within underlying Airflow or Flink connections.
apache-airflow-providers-cncf-kubernetesoptionalNeeded for using FlinkKubernetesOperator to deploy Flink applications on Kubernetes.