Menyebarkan sebagai aplikasi dengan status tahan lama - 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.

Menyebarkan sebagai aplikasi dengan status tahan lama

Anda dapat membangun kode Anda dan mengekspornya ke Amazon S3. Anda dapat mempromosikan kode yang Anda tulis dalam catatan Anda ke aplikasi pemrosesan streaming yang terus berjalan. Ada dua mode menjalankan aplikasi Apache Flink pada Managed Service untuk Apache Flink: Dengan notebook Studio, Anda memiliki kemampuan untuk mengembangkan kode Anda secara interaktif, melihat hasil kode Anda secara real time, dan memvisualisasikannya dalam catatan Anda. Setelah Anda menerapkan catatan untuk dijalankan dalam mode streaming, Managed Service for Apache Flink membuat aplikasi untuk Anda yang berjalan terus menerus, membaca data dari sumber Anda, menulis ke tujuan Anda, mempertahankan status aplikasi yang berjalan lama, dan skala otomatis secara otomatis berdasarkan throughput aliran sumber Anda.

catatan

Bucket S3 tempat Anda mengekspor kode aplikasi harus berada dalam Wilayah yang sama dengan notebook Studio Anda.

Anda hanya dapat men-deploy catatan dari notebook Studio jika memenuhi kriteria berikut:

  • Paragraf harus disusun secara berurutan. Saat Anda menerapkan aplikasi Anda, semua paragraf dalam catatan akan dieksekusi secara berurutan (left-to-right, top-to-bottom) seperti yang muncul di catatan Anda. Anda dapat memeriksa urutan ini dengan memilih Run All Paragraphs (Jalankan Semua Paragraf) di catatan Anda.

  • Kode Anda adalah kombinasi Python dan SQL atau Scala dan SQL. Kami tidak mendukung Python dan Scala bersama saat ini untuk. deploy-as-application

  • Catatan Anda sebaiknya hanya memiliki interpreter berikut: %flink, %flink.ssql, %flink.pyflink, %flink.ipyflink, %md.

  • Penggunaan objek konteks Zeppelin z tidak didukung. Metode yang tidak mengembalikan apa pun tidak akan melakukan apa pun kecuali mencatat peringatan. Metode lain akan meningkatkan pengecualian Python atau gagal untuk mengompilasi di Scala.

  • Catatan harus menghasilkan satu tugas Apache Flink.

  • Catatan dengan formulir dinamis tidak didukung untuk men-deploy sebagai aplikasi.

  • %md (Markdown) akan dilewati dalam deployment sebagai aplikasi, karena ini diprediksi berisi dokumentasi yang dapat dibaca manusia yang tidak cocok untuk dijalankan sebagai bagian dari aplikasi yang dihasilkan.

  • Paragraf yang dinonaktifkan untuk berjalan dalam Zeppelin akan dilewati dalam deployment sebagai aplikasi. Bahkan jika paragraf yang dinonaktifkan menggunakan interpreter yang tidak kompatibel, misalnya, %flink.ipyflink dalam catatan dengan interpreter %flink and %flink.ssql, paragraf akan dilewati saat men-deploy catatan sebagai aplikasi, dan tidak akan mengakibatkan kesalahan.

  • Harus ada setidaknya satu paragraf yang hadir dengan kode sumber (Flink SQL, PyFlink atau Flink Scala) yang diaktifkan untuk berjalan agar penerapan aplikasi berhasil.

  • Mengatur paralelisme di direktif interpreter dalam paragraf (misalnya %flink.ssql(parallelism=32)) akan diabaikan dalam aplikasi yang di-deploy dari catatan. Sebagai gantinya, Anda dapat memperbarui aplikasi yang digunakan melalui AWS Management Console, AWS Command Line Interface atau AWS API untuk mengubah pengaturan Paralelisme dan/atau ParallelismPer KPU sesuai dengan tingkat paralelisme yang dibutuhkan aplikasi Anda, atau Anda dapat mengaktifkan penskalaan otomatis untuk aplikasi yang Anda gunakan.

  • Jika Anda menerapkan sebagai aplikasi dengan status tahan lama VPC Anda harus memiliki akses internet. Jika VPC Anda tidak memiliki akses internet, lihat. Menyebarkan sebagai aplikasi dengan status tahan lama di VPC tanpa akses internet

Kriteria Scala/Python

  • Dalam kode Scala atau Python Anda, gunakan Perencana Blink (senv, stenv untuk Scala; s_env, st_env untuk Python) dan bukan perencana "Flink" yang lebih lama (stenv_2 untuk Scala, st_env_2 untuk Python). Proyek Apache Flink merekomendasikan penggunaan perencana Blink untuk kasus penggunaan produksi, dan ini adalah perencana default di Zeppelin dan di Flink.

  • Paragraf Python Anda tidak boleh menggunakan invokasi/tugas shell menggunakan ! atau perintah magic IPython seperti %timeit atau %conda dalam catatan yang dimaksudkan untuk di-deploy sebagai aplikasi.

  • Anda tidak dapat menggunakan kelas kasus Scala sebagai parameter fungsi yang diteruskan ke operator aliran data susunan yang lebih tinggi seperti map dan filter. Untuk informasi tentang kelas kasus Scala, lihat KELAS KASUS dalam dokumentasi Scala.

Kriteria SQL

  • Pernyataan SELECT sederhana tidak diizinkan, karena tidak ada yang setara dengan bagian output paragraf tempat data dapat dikirim.

  • Dalam setiap paragraf yang diberikan, pernyataan DDL (USE, CREATE, ALTER, DROP, SET, RESET) harus mendahului pernyataan DML (INSERT). Ini karena pernyataan DML dalam paragraf harus dikirimkan bersama-sama sebagai satu tugas Flink.

  • Harus ada maksimal satu paragraf yang memiliki pernyataan DML di dalamnya. Ini karena, untuk deploy-as-application fitur tersebut, kami hanya mendukung pengiriman satu pekerjaan ke Flink.

Untuk informasi selengkapnya dan contoh, lihat Menerjemahkan, menyunting, dan menganalisis data streaming menggunakan fungsi SQL dengan Amazon Managed Service untuk Apache Flink, Amazon Translate, dan Amazon Comprehend.