Topik ini menjelaskan informasi latar belakang, batasan, metode pengembangan dan debugging, serta penggunaan konektor untuk pekerjaan Flink Python API.
Informasi Latar Belakang
Anda harus mengembangkan pekerjaan Flink Python di lingkungan lokal. Setelah selesai, Anda dapat menerapkan dan menjalankannya di Konsol pengembangan Flink. Untuk informasi lebih lanjut mengenai prosedur lengkapnya, lihat Panduan Memulai Cepat untuk Pekerjaan Flink Python.
VVR-11
Paket perangkat lunak berikut telah dipasang di ruang kerja Flink.
Software package | Version |
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
Paket perangkat lunak berikut telah dipasang di ruang kerja Flink.
Software package | Version |
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
Paket perangkat lunak berikut telah dipasang di ruang kerja Flink.
Paket Perangkat Lunak | Versi |
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 |
Batasan
Saat mengembangkan pekerjaan Python, perhatikan batasan berikut yang ditetapkan oleh faktor-faktor seperti lingkungan penerapan dan jaringan:
Hanya open source Flink 1.13 dan versi yang lebih baru yang didukung.
Lingkungan Python dengan library umum, seperti pandas, NumPy, dan PyArrow, telah dipra-instal di ruang kerja Flink.
CatatanPython 3.7.9 telah dipra-instal di Realtime Compute for Apache Flink yang menggunakan Ververica Runtime (VVR) versi sebelum 8.0.11. Python 3.9.21 telah dipra-instal di Realtime Compute for Apache Flink yang menggunakan VVR 8.0.11 atau versi yang lebih baru. Jika Anda meningkatkan versi VVR ke 8.0.11 atau versi yang lebih baru, Anda harus menguji ulang, menerapkan ulang, dan menjalankan ulang pekerjaan PyFlink yang dibuat untuk versi VVR sebelumnya.
Lingkungan runtime Flink hanya mendukung JDK 8 dan JDK 11. Jika pekerjaan Python Anda bergantung pada paket JAR pihak ketiga, pastikan paket tersebut kompatibel.
VVR 4.x hanya mendukung open source Scala 2.11. VVR 6.x dan versi yang lebih baru hanya mendukung open source Scala 2.12. Jika pekerjaan Python Anda bergantung pada paket JAR pihak ketiga, pastikan dependensi paket JAR tersebut sesuai dengan versi Scala.
Kembangkan pekerjaan
Referensi pengembangan
Anda dapat merujuk ke dokumen berikut untuk mengembangkan logika bisnis Flink secara lokal. Setelah pengembangan selesai, unggah kode ke Konsol pengembangan Flink untuk menerapkan dan memublikasikan pekerjaan tersebut.
Untuk informasi tentang cara mengembangkan logika bisnis untuk Apache Flink 1.20, lihat Panduan Pengembangan Flink Python API.
Untuk informasi tentang masalah umum dan solusinya dalam pengkodean Apache Flink, lihat FAQ.
Debug pekerjaan
Dalam implementasi fungsi user-defined Python (UDF), Anda dapat menggunakan metode logging untuk menghasilkan informasi log, yang membantu dalam troubleshooting. Kode berikut memberikan contohnya.
@udf(result_type=DataTypes.BIGINT())
def add(i, j):
logging.info("hello world")
return i + jSetelah log dihasilkan, Anda dapat melihatnya di file log TaskManager.
Gunakan Konektor
Untuk daftar konektor yang didukung Flink, lihat Konektor yang didukung. Untuk menggunakan konektor, ikuti langkah-langkah berikut:
Masuk ke Konsol Realtime Compute for Apache Flink.
Klik Console di kolom Actions ruang kerja target.
Di panel navigasi kiri, klik File Management.
Klik Upload Resource dan pilih paket Python untuk konektor target.
Anda dapat mengunggah konektor yang Anda kembangkan sendiri atau konektor yang disediakan Flink. Untuk alamat unduh paket Python resmi konektor Flink, lihat Daftar konektor.
Di halaman , klik . Di kolom Additional Dependency Files, pilih paket Python untuk konektor target, konfigurasikan parameter lainnya, lalu terapkan pekerjaan tersebut.
Klik nama pekerjaan yang telah diterapkan. Di tab Deployment Details, temukan bagian Runtime Parameter Configuration dan klik Edit. Di kolom Other Configurations, masukkan path ke paket konektor Python.
Jika pekerjaan Anda bergantung pada beberapa paket konektor Python, misalnya dua paket bernama connector-1.jar dan connector-2.jar, konfigurasinya adalah sebagai berikut.
pipeline.classpaths: 'file:///flink/usrlib/connector-1.jar;file:///flink/usrlib/connector-2.jar'
Dokumen terkait
Untuk contoh lengkap proses pengembangan pekerjaan Flink Python, lihat Panduan Memulai Cepat untuk Pekerjaan Flink Python.
Untuk informasi lebih lanjut tentang cara menggunakan lingkungan virtual Python kustom, paket Python pihak ketiga, paket JAR, dan file data dalam pekerjaan Flink Python, lihat Gunakan dependensi Python.
Realtime Compute for Apache Flink juga mendukung pekerjaan SQL dan DataStream. Untuk informasi tentang cara mengembangkan pekerjaan tersebut, lihat Peta pengembangan pekerjaan dan Kembangkan pekerjaan JAR.