すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:Python ジョブの開発

最終更新日:Nov 26, 2025

このトピックでは、Flink Python API ジョブの背景情報、制限事項、開発およびデバッグ方法、コネクタの使用方法について説明します。

背景情報

Flink Python ジョブは、ローカル環境で開発する必要があります。開発後、Flink 開発コンソールでジョブをデプロイして開始できます。全体的な手順の詳細については、「Flink Python ジョブのクイックスタート」をご参照ください。

VVR-11

以下のソフトウェアパッケージが Flink ワークスペースにインストールされています。

ソフトウェアパッケージ

バージョン

apache-beam

2.48.0

avro-python3

1.10.2

brotlipy

0.7.0

certifi

2022.12.7

cffi

1.15.1

charset-normalizer

2.0.4

cloudpickle

2.2.1

conda

22.11.1

conda-content-trust

0.1.3

conda-package-handling

1.9.0

crcmod

1.7

cryptography

38.0.1

Cython

3.0.12

dill

0.3.1.1

dnspython

2.7.0

docopt

0.6.2

exceptiongroup

1.3.0

fastavro

1.12.1

fasteners

0.20

find_libpython

0.5.0

grpcio

1.56.2

grpcio-tools

1.56.2

hdfs

2.7.3

httplib2

0.22.0

idna

3.4

importlib_metadata

8.7.0

iniconfig

2.1.0

isort

6.1.0

numpy

1.24.4

objsize

0.6.1

orjson

3.9.15

packaging

25.0

pandas

2.3.3

pemja

0.5.5

pip

22.3.1

pluggy

1.0.0

proto-plus

1.26.1

protobuf

4.25.8

py-spy

0.4.0

py4j

0.10.9.7

pyarrow

11.0.0

pyarrow-hotfix

0.6

pycodestyle

2.14.0

pycosat

0.6.4

pycparser

2.21

pydot

1.4.2

pymongo

4.15.4

pyOpenSSL

22.0.0

pyparsing

3.2.5

PySocks

1.7.1

pytest

7.4.4

python-dateutil

2.9.0

pytz

2025.2

regex

2025.11.3

requests

2.32.5

ruamel.yaml

0.18.16

ruamel.yaml.clib

0.2.14

setuptools

70.0.0

six

1.16.0

tomli

2.3.0

toolz

0.12.0

tqdm

4.64.1

typing_extensions

4.15.0

tzdata

2025.2

urllib3

1.26.13

wheel

0.38.4

zipp

3.23.0

zstandard

0.25.0

VVR-8

以下のソフトウェアパッケージが Flink ワークスペースにインストールされています。

ソフトウェアパッケージ

バージョン

apache-beam

2.43.0

avro-python3

1.9.2.1

certifi

2025.7.9

charset-normalizer

3.4.2

cloudpickle

2.2.0

crcmod

1.7

Cython

0.29.24

dill

0.3.1.1

docopt

0.6.2

fastavro

1.4.7

fasteners

0.19

find_libpython

0.4.1

grpcio

1.46.3

grpcio-tools

1.46.3

hdfs

2.7.3

httplib2

0.20.4

idna

3.10

isort

6.0.1

numpy

1.21.6

objsize

0.5.2

orjson

3.10.18

pandas

1.3.5

pemja

0.3.2

pip

22.3.1

proto-plus

1.26.1

protobuf

3.20.3

py4j

0.10.9.7

pyarrow

8.0.0

pycodestyle

2.14.0

pydot

1.4.2

pymongo

3.13.0

pyparsing

3.2.3

python-dateutil

2.9.0

pytz

2025.2

regex

2024.11.6

requests

2.32.4

setuptools

58.1.0

six

1.17.0

typing_extensions

4.14.1

urllib3

2.5.0

wheel

0.33.4

zstandard

0.23.0

VVR-6

以下のソフトウェアパッケージが Flink ワークスペースにインストールされています。

ソフトウェアパッケージ

バージョン

apache-beam

2.27.0

avro-python3

1.9.2.1

certifi

2024.8.30

charset-normalizer

3.3.2

cloudpickle

1.2.2

crcmod

1.7

Cython

0.29.16

dill

0.3.1.1

docopt

0.6.2

fastavro

0.23.6

future

0.18.3

grpcio

1.29.0

hdfs

2.7.3

httplib2

0.17.4

idna

3.8

importlib-metadata

6.7.0

isort

5.11.5

jsonpickle

2.0.0

mock

2.0.0

numpy

1.19.5

oauth2client

4.1.3

pandas

1.1.5

pbr

6.1.0

pemja

0.1.4

pip

20.1.1

protobuf

3.17.3

py4j

0.10.9.3

pyarrow

2.0.0

pyasn1

0.5.1

pyasn1-modules

0.3.0

pycodestyle

2.10.0

pydot

1.4.2

pymongo

3.13.0

pyparsing

3.1.4

python-dateutil

2.8.0

pytz

2024.1

requests

2.31.0

rsa

4.9

setuptools

47.1.0

six

1.16.0

typing-extensions

3.7.4.3

urllib3

2.0.7

wheel

0.42.0

zipp

3.15.0

制限

Python ジョブを開発する際は、デプロイメントやネットワーク環境などの要因によって課される以下の制限事項にご注意ください:

  • オープンソースの Flink 1.13 以降のみがサポートされています。

  • pandas、NumPy、PyArrow などの一般的なライブラリを含む Python 環境は、Flink ワークスペースにプリインストール済みです。

    説明

    Ververica Runtime (VVR) バージョン 8.0.11 より前の Realtime Compute for Apache Flink には Python 3.7.9 がプリインストールされています。VVR 8.0.11 以降を使用する Realtime Compute for Apache Flink には Python 3.9.21 がプリインストールされています。VVR バージョンを 8.0.11 以降にアップグレードする場合、以前の VVR バージョン用に作成された PyFlink ジョブを再テスト、再デプロイ、再実行する必要があります。

  • Flink ランタイム環境は JDK 8 と JDK 11 のみをサポートしています。ご利用の Python ジョブがサードパーティの JAR パッケージに依存している場合は、その JAR パッケージに互換性があることを確認してください。

  • VVR 4.x はオープンソースの Scala 2.11 のみをサポートしています。VVR 6.x 以降はオープンソースの Scala 2.12 のみをサポートしています。ご利用の Python ジョブがサードパーティの JAR パッケージに依存している場合は、その JAR パッケージの依存関係が Scala のバージョンと一致していることを確認してください。

ジョブの開発

開発リファレンス

以下のドキュメントを参照して、ローカルで Flink のビジネスロジックを開発できます。開発後、コードを Flink 開発コンソールにアップロードしてジョブをデプロイし、公開します。

  • Apache Flink 1.20 のビジネスロジックの開発方法については、「Flink Python API 開発ガイド」をご参照ください。

  • Apache Flink のコーディングに関する一般的な問題とソリューションについては、「よくある質問」をご参照ください。

ジョブのデバッグ

Python ユーザー定義関数 (UDF) の実装では、ロギングメソッドを使用してログ情報を出力できます。これはトラブルシューティングに役立ちます。以下のコードは一例です。

@udf(result_type=DataTypes.BIGINT())
def add(i, j):    
  # hello world というログメッセージを出力します。
  logging.info("hello world")    
  return i + j

ログが出力された後、TaskManager ログファイルでログを確認できます。

コネクタの使用

Flink がサポートするコネクタのリストについては、「サポートされているコネクタ」をご参照ください。コネクタを使用するには、次の手順を実行します:

  1. Realtime Compute for Apache Flink コンソール にログインします。

  2. 対象のワークスペースの [操作] 列にある [コンソール] をクリックします。

  3. 左側のナビゲーションウィンドウで、[ファイル管理] をクリックします。

  4. [リソースのアップロード] をクリックし、対象のコネクタの Python パッケージを選択します。

    開発したコネクタ、または Flink が提供するコネクタをアップロードできます。Flink コネクタの公式 Python パッケージのダウンロードアドレスについては、「コネクタリスト」をご参照ください。

  5. [オペレーションセンター] > [ジョブ O&M] ページで、[ジョブのデプロイ] > [Python ジョブ] をクリックします。[追加依存ファイル] フィールドで、対象のコネクタ用の Python パッケージを選択し、他のパラメーターを設定して、ジョブをデプロイします。

  6. デプロイされたジョブの名前をクリックします。[デプロイメント詳細] タブで、[ランタイムパラメーター設定] セクションを探し、[編集] をクリックします。[その他の設定] フィールドに、Python コネクタパッケージへのパスを入力します。

    ご利用のジョブが connector-1.jar と connector-2.jar という名前の 2 つのパッケージなど、複数の Python コネクタパッケージに依存している場合、設定は次のようになります。

    pipeline.classpaths: 'file:///flink/usrlib/connector-1.jar;file:///flink/usrlib/connector-2.jar'

関連ドキュメント

  • Flink Python ジョブの開発プロセスの完全な例については、「Flink Python ジョブのクイックスタート」をご参照ください。

  • Flink Python ジョブでカスタム Python 仮想環境、サードパーティの Python パッケージ、JAR パッケージ、およびデータファイルを使用する方法の詳細については、「Python 依存関係の使用」をご参照ください。

  • Realtime Compute for Apache Flink は、SQL ジョブと DataStream ジョブもサポートしています。これらのジョブの開発方法については、「ジョブ開発マップ」および「JAR ジョブの開発」をご参照ください。