Memulai Amazon Managed Service untuk Apache Flink untuk Python - Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memulai Amazon Managed Service untuk Apache Flink untuk Python

Bagian ini memperkenalkan Anda pada konsep dasar Layanan Terkelola untuk Apache Flink menggunakan Python dan Tabel. API Ini menjelaskan opsi yang tersedia untuk membuat dan menguji aplikasi Anda. Ini juga memberikan petunjuk untuk menginstal alat yang diperlukan untuk menyelesaikan tutorial dalam panduan ini dan untuk membuat aplikasi pertama Anda.

Tinjau komponen Layanan Terkelola untuk aplikasi Apache Flink

catatan

Amazon Managed Service untuk Apache Flink mendukung semua Apache Flink. APIs Tergantung pada yang API Anda pilih, struktur aplikasi sedikit berbeda. Salah satu pendekatan populer ketika mengembangkan aplikasi Apache Flink di Python adalah untuk mendefinisikan aliran aplikasi menggunakan tertanam SQL dalam kode Python. Ini adalah pendekatan yang kita ikuti dalam tutorial Gettgin Started berikut.

Untuk memproses data, Layanan Terkelola untuk aplikasi Apache Flink Anda menggunakan skrip Python untuk menentukan aliran data yang memproses input dan menghasilkan output menggunakan runtime Apache Flink.

Layanan Terkelola khas untuk aplikasi Apache Flink memiliki komponen berikut:

  • Properti runtime: Anda dapat menggunakan properti runtime untuk mengonfigurasi aplikasi Anda tanpa mengompilasi ulang kode aplikasi Anda.

  • Sumber: Aplikasi mengkonsumsi data dari satu atau lebih sumber. Sumber menggunakan konektor untuk membaca data dari sistem eksternal seperti aliran data Kinesis, atau topik AmazonMSK. Anda juga dapat menggunakan konektor khusus untuk menghasilkan data dari dalam aplikasi. Saat Anda menggunakanSQL, aplikasi mendefinisikan sumber sebagai tabel sumber.

  • Transformasi: Aplikasi memproses data dengan menggunakan satu atau lebih transformasi yang dapat menyaring, memperkaya, atau mengumpulkan data. Saat Anda menggunakanSQL, aplikasi mendefinisikan transformasi sebagai SQL kueri.

  • Tenggelam: Aplikasi mengirimkan data ke sumber eksternal melalui sink. Wastafel menggunakan konektor untuk mengirim data ke sistem eksternal seperti aliran data Kinesis, MSK topik Amazon, bucket Amazon S3, atau database relasional. Anda juga dapat menggunakan konektor khusus untuk mencetak output untuk tujuan pengembangan. Saat Anda menggunakanSQL, aplikasi mendefinisikan sink sebagai tabel wastafel tempat Anda memasukkan hasil. Untuk informasi selengkapnya, lihat Menulis data menggunakan sink di Managed Service untuk Apache Flink.

Aplikasi Python Anda mungkin juga memerlukan dependensi eksternal, seperti pustaka Python tambahan atau konektor Flink apa pun yang digunakan aplikasi Anda. Ketika Anda mengemas aplikasi Anda, Anda harus menyertakan setiap ketergantungan yang dibutuhkan aplikasi Anda. Tutorial ini menunjukkan cara menyertakan dependensi konektor dan cara mengemas aplikasi untuk penyebaran di Amazon Managed Service untuk Apache Flink.

Memenuhi prasyarat

Untuk menyelesaikan tutorial ini, Anda harus memiliki yang berikut:

  • Python 3.11 , sebaiknya menggunakan lingkungan mandiri seperti VirtualEnv (venv), Conda, atau Miniconda.

  • Klien Git - instal klien Git jika Anda belum melakukannya.

  • Java Development Kit (JDK) versi 11 - instal Java JDK 11 dan atur variabel JAVA_HOME lingkungan untuk menunjuk ke lokasi instalasi Anda. Jika Anda tidak memiliki JDK 11, Anda dapat menggunakan Amazon Correttoatau standar JDK pilihan kami.

    • Untuk memverifikasi bahwa Anda telah menginstal JDK dengan benar, jalankan perintah berikut. Outputnya akan berbeda jika Anda menggunakan JDK selain Amazon Corretto 11. Pastikan versinya 11.x.

      $ java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
  • Apache Maven - instal Apache Maven jika Anda belum melakukannya. Untuk informasi selengkapnya, lihat Menginstal Apache Maven.

    • Untuk menguji instalasi Apache Maven Anda, gunakan perintah berikut:

      $ mvn -version
catatan

Meskipun aplikasi Anda ditulis dengan Python, Apache Flink berjalan di Java Virtual Machine (). JVM Ini mendistribusikan sebagian besar dependensi, seperti konektor Kinesis, sebagai file. JAR Untuk mengelola dependensi ini dan untuk mengemas aplikasi dalam ZIP file, gunakan Apache Maven. Tutorial ini menjelaskan cara melakukannya.

Awas

Kami menyarankan Anda menggunakan Python 3.11 untuk pengembangan lokal. Ini adalah versi Python yang sama yang digunakan oleh Amazon Managed Service untuk Apache Flink dengan runtime Flink 1.19.

Menginstal pustaka Python Flink 1.19 pada Python 3.12 mungkin gagal.

Jika Anda memiliki versi Python lain yang diinstal secara default pada mesin Anda, kami sarankan Anda membuat lingkungan mandiri seperti menggunakan VirtualEnv Python 3.11.

IDEuntuk pembangunan lokal

Kami menyarankan Anda menggunakan lingkungan pengembangan seperti PyCharmatau Visual Studio Code untuk mengembangkan dan mengkompilasi aplikasi Anda.

Kemudian, selesaikan dua langkah pertama dariMemulai Amazon Managed Service for Apache Flink () DataStream API:

Untuk memulai, lihat Membuat aplikasi.