Apa itu Amazon Managed Service untuk Apache Flink? - 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.

Apa itu Amazon Managed Service untuk Apache Flink?

Dengan Amazon Managed Service untuk Apache Flink, Anda dapat menggunakan Java, Scala, Python, atau SQL untuk memproses dan menganalisis data streaming. Layanan ini memungkinkan Anda untuk membuat dan menjalankan kode terhadap sumber streaming dan sumber statis untuk melakukan analitik deret waktu, memberi umpan dasbor waktu nyata, dan metrik.

Anda dapat membangun aplikasi dengan bahasa pilihan Anda di Managed Service for Apache Flink menggunakan pustaka open-source berdasarkan Apache Flink. Apache Flink adalah kerangka kerja dan mesin populer untuk memproses aliran data.

Managed Service for Apache Flink menyediakan infrastruktur dasar untuk aplikasi Apache Flink Anda. Ini menangani kemampuan inti seperti penyediaan sumber daya komputasi, ketahanan failover AZ, komputasi paralel, penskalaan otomatis, dan pencadangan aplikasi (diimplementasikan sebagai pos pemeriksaan dan snapshot). Anda dapat menggunakan fitur pemrograman Flink tingkat tinggi (seperti operator, fungsi, sumber, dan sink) dengan cara yang sama seperti Anda menggunakannya ketika meng-host infrastruktur Flink Anda sendiri.

Anda memiliki dua opsi untuk menjalankan pekerjaan Flink Anda dengan Amazon Managed Service untuk Apache Flink. Dengan Managed Service for Apache Flink, Anda membangun aplikasi Flink di Java, Scala, atau Python (dan disematkanSQL) menggunakan pilihan Anda dan Apache Flink IDE Datastream atau Table. APIs Dengan Managed Service for Apache Flink Studio, Anda dapat secara interaktif menanyakan aliran data secara real time dan dengan mudah membangun dan menjalankan aplikasi pemrosesan aliran menggunakan standar, SQL Python, dan Scala.

Anda dapat memilih metode mana yang paling sesuai dengan kasus penggunaan Anda. Jika Anda tidak yakin, bagian ini akan menawarkan panduan tingkat tinggi untuk membantu Anda.

Decision tree for selecting Flink application, Deployed Studio application, or Studio Notebook based on use case and programming experience.

Sebelum memutuskan apakah akan menggunakan Amazon Managed Service untuk Apache Flink atau Amazon Managed Service untuk Apache Flink Studio Anda harus mempertimbangkan kasus penggunaan Anda.

Jika Anda berencana untuk mengoperasikan aplikasi yang berjalan lama yang akan melakukan beban kerja seperti Streaming ETL atau Aplikasi Berkelanjutan, Anda harus mempertimbangkan untuk menggunakan Managed Service untuk Apache Flink. Ini karena Anda dapat membuat aplikasi Flink Anda menggunakan Flink APIs langsung di pilihan IDE Anda. Mengembangkan secara lokal dengan Anda IDE juga memastikan Anda dapat memanfaatkan siklus hidup pengembangan perangkat lunak (SDLC) proses umum dan perkakas seperti pembuatan versi kode di Git, otomatisasi CI/CD, atau pengujian unit.

Jika Anda tertarik dengan eksplorasi data ad-hoc, ingin menanyakan data streaming secara interaktif, atau membuat dasbor real-time pribadi, Managed Service for Apache Flink Studio akan membantu Anda memenuhi tujuan ini hanya dengan beberapa klik. Pengguna yang akrab dengan SQL dapat mempertimbangkan untuk menerapkan aplikasi yang sudah berjalan lama dari Studio secara langsung.

catatan

Anda dapat mempromosikan notebook Studio Anda ke aplikasi yang sudah berjalan lama. Namun, jika Anda ingin mengintegrasikan dengan SDLC alat Anda seperti pembuatan versi kode pada otomatisasi Git dan CI/CD, atau teknik seperti pengujian unit, kami merekomendasikan Layanan Terkelola untuk Apache Flink menggunakan pilihan Anda. IDE

Anda dapat membangun aplikasi menggunakan Java, Python, dan Scala di Managed Service untuk Apache Flink menggunakan Apache APIs Flink di pilihan Anda. IDE Anda dapat menemukan panduan tentang cara membangun aplikasi menggunakan Flink Datastream dan Tabel API dalam dokumentasi. Anda dapat memilih bahasa tempat Anda membuat aplikasi Flink dan yang APIs Anda gunakan untuk memenuhi kebutuhan aplikasi dan operasi Anda dengan sebaik-baiknya. Jika Anda tidak yakin, bagian ini memberikan panduan tingkat tinggi untuk membantu Anda.

Apache Flink APIs memiliki tingkat abstraksi yang berbeda yang dapat mempengaruhi bagaimana Anda memutuskan untuk membangun aplikasi Anda. Mereka ekspresif dan fleksibel dan dapat digunakan bersama untuk membangun aplikasi Anda. Anda tidak harus menggunakan hanya satu FlinkAPI. Anda dapat mempelajari lebih lanjut tentang Flink APIs di dokumentasi Apache Flink.

Flink menawarkan empat tingkat API abstraksi: FlinkSQL, Table API DataStream API, dan Process Function, yang digunakan bersama dengan. DataStream API Ini semua didukung di Amazon Managed Service untuk Apache Flink. Dianjurkan untuk memulai dengan tingkat abstraksi yang lebih tinggi jika memungkinkan, namun beberapa fitur Flink hanya tersedia dengan Datastream API di mana Anda dapat membuat aplikasi Anda di Java, Python, atau Scala. Anda harus mempertimbangkan untuk menggunakan API Datastream jika:

  • Anda memerlukan kontrol berbutir halus atas negara

  • Anda ingin memanfaatkan kemampuan untuk memanggil database eksternal atau titik akhir secara asinkron (misalnya untuk inferensi)

  • Anda ingin menggunakan pengatur waktu khusus (misalnya untuk menerapkan jendela khusus atau penanganan acara terlambat)

  • Anda ingin dapat memodifikasi alur aplikasi Anda tanpa mengatur ulang status

Apache Flink APIs diagram showing abstraction levels and programming languages for different APIs.
catatan

Memilih bahasa dengan DataStreamAPI:

  • SQLdapat disematkan dalam aplikasi Flink apa pun, terlepas dari bahasa pemrograman yang dipilih.

  • Jika Anda berencana untuk menggunakan DataStream API, tidak semua konektor didukung dengan Python.

  • Jika Anda membutuhkan latensi rendah/throughput tinggi, Anda harus mempertimbangkan Java/Scala terlepas dari itu. API

  • Jika Anda berencana untuk menggunakan Async IO di Process Functions, API Anda harus menggunakan Java.

Pilihan juga API dapat memengaruhi kemampuan Anda untuk mengembangkan logika aplikasi tanpa harus mengatur ulang status. Ini tergantung pada fitur tertentu, kemampuan untuk mengatur UID pada operator, yang hanya tersedia di DataStream API untuk Java dan Python. Untuk informasi selengkapnya, lihat Mengatur UUIDs Untuk Semua Operator di Dokumentasi Apache Flink.

Memulai aplikasi data streaming

Anda dapat memulai dengan membuat Layanan Terkelola untuk aplikasi Apache Flink yang terus membaca dan memproses data streaming. Kemudian, buat kode Anda menggunakan pilihan AndaIDE, dan ujilah dengan data streaming langsung. Anda juga dapat mengonfigurasi tujuan di mana Anda ingin Layanan Terkelola untuk Apache Flink untuk mengirim hasilnya.

Sebaiknya mulai dengan membaca bagian berikut:

Secara altenatif, Anda dapat memulai dengan membuat notebook Managed Service for Apache Flink Studio yang memungkinkan Anda untuk secara interaktif menanyakan aliran data secara real time, dan dengan mudah membangun dan menjalankan aplikasi pemrosesan aliran menggunakan standar, Python, SQL dan Scala. Dengan beberapa klik AWS Management Console, Anda dapat meluncurkan notebook tanpa server untuk menanyakan aliran data dan mendapatkan hasil dalam hitungan detik. Sebaiknya mulai dengan membaca bagian berikut: