Amazon Kinesis Data Analytics untuk Aplikasi SQL: Cara Kerjanya - Panduan Developer Amazon Kinesis Data Analytics untuk Aplikasi SQL

Untuk proyek baru, kami menyarankan Anda menggunakan Managed Service baru untuk Apache Flink Studio melalui Kinesis Data Analytics untuk Aplikasi SQL. Layanan Terkelola untuk Apache Flink Studio menggabungkan kemudahan penggunaan dengan kemampuan analitis tingkat lanjut, memungkinkan Anda membangun aplikasi pemrosesan aliran yang canggih dalam hitungan menit.

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

Amazon Kinesis Data Analytics untuk Aplikasi SQL: Cara Kerjanya

catatan

Setelah 12 September 2023, Anda tidak akan dapat membuat aplikasi baru menggunakan Kinesis Data Firehose sebagai sumber jika Anda belum menggunakan Kinesis Data Analytics untuk SQL. Untuk informasi selengkapnya, lihat Batasan-batasan.

Aplikasi adalah sumber daya utama di Amazon Kinesis Data Analytics yang dapat Anda buat di akun Anda. Anda dapat membuat dan mengelola aplikasi menggunakan AWS Management Console atau Kinesis Data Analytics API. Kinesis Data Analytics menyediakan operasi API untuk mengelola aplikasi. Untuk daftar operasi API, lihat Tindakan.

Aplikasi Kinesis Data Analytics terus membaca dan memproses data streaming secara langsung. Anda menulis kode aplikasi menggunakan SQL untuk memproses data streaming yang masuk dan menghasilkan output. Kemudian, Kinesis Data Analytics menulis output ke tujuan yang dikonfigurasi. Diagram berikut menggambarkan arsitektur aplikasi yang khas.

Diagram menampilkan aplikasi analitik data, sumber input streaming, data referensi, dan output aplikasi.

Setiap aplikasi memiliki nama, deskripsi, ID versi, dan status. Amazon Kinesis Data Analytics menetapkan ID versi saat Anda pertama kali membuat aplikasi. ID versi ini diperbarui saat Anda memperbarui konfigurasi aplikasi. Misalnya, jika Anda menambahkan konfigurasi input, menambah atau menghapus sumber data referensi, menambah atau menghapus konfigurasi output, atau memperbarui kode aplikasi, Kinesis Data Analytics akan memperbarui ID versi aplikasi saat ini. Kinesis Data Analytics juga mempertahankan stempel waktu saat aplikasi dibuat dan terakhir diperbarui.

Selain sifat dasar ini, setiap aplikasi terdiri dari berikut ini:

  • Input – Sumber streaming untuk aplikasi Anda. Anda dapat memilih aliran data Kinesis atau aliran pengiriman data Firehose sebagai sumber streaming. Dalam konfigurasi input, Anda memetakan sumber streaming ke aliran input dalam aplikasi. Aliran dalam aplikasi seperti tabel yang terus diperbarui tempat Anda dapat melakukan operasi SELECT dan INSERT SQL. Dalam kode aplikasi Anda, Anda dapat membuat aliran dalam aplikasi tambahan untuk menyimpan hasil kueri menengah.

     

    Anda dapat secara opsional membuat partisi satu sumber streaming di beberapa aliran input dalam aplikasi untuk meningkatkan throughput. Lihat informasi yang lebih lengkap di Batas dan Mengonfigurasi Input Aplikasi.

     

    Amazon Kinesis Data Analytics menyediakan kolom stempel waktu di setiap aliran aplikasi yang disebut Stempel waktu dan Kolom ROWTIME. Anda dapat menggunakan kolom ini di kueri jendela berbasis waktu. Untuk informasi selengkapnya, lihat Kueri Jendela.

     

    Anda dapat secara opsional mengonfigurasi sumber data referensi untuk memperkaya aliran data input Anda dalam aplikasi. Ini menghasilkan tabel referensi dalam aplikasi. Anda harus menyimpan data referensi sebagai objek dalam bucket S3 Anda. Ketika aplikasi dimulai, Amazon Kinesis Data Analytics membaca objek Amazon S3 dan membuat tabel dalam aplikasi. Untuk informasi selengkapnya, lihat Mengonfigurasi Input Aplikasi.

     

  • Kode aplikasi – Serangkaian pernyataan SQL yang memproses input dan menghasilkan output. Anda dapat menulis pernyataan SQL di aliran dalam aplikasi dan tabel referensi. Anda juga dapat menulis kueri JOIN untuk menggabungkan data dari kedua sumber ini.

     

    Untuk informasi tentang elemen bahasa SQL yang didukung oleh Kinesis Data Analytics, lihat Refererensi SQL Amazon Kinesis Data Analytics.

     

    Dalam bentuk yang paling sederhana, kode aplikasi dapat menjadi satu pernyataan SQL yang memilih dari input streaming dan memasukkan hasil ke output streaming. Ini juga bisa berupa serangkaian pernyataan SQL tempat output dari satu umpan ke input dari pernyataan SQL berikutnya. Selanjutnya, Anda dapat menulis kode aplikasi untuk membagi aliran input menjadi beberapa aliran. Anda selanjutnya dapat menerapkan kueri tambahan untuk memproses aliran ini. Untuk informasi selengkapnya, lihat Kode Aplikasi.

     

  • Output – Dalam kode aplikasi, hasil kueri masuk ke aliran dalam aplikasi. Dalam kode aplikasi Anda, Anda dapat membuat satu atau beberapa aliran dalam aplikasi untuk menyimpan hasil menengah. Anda selanjutnya dapat secara opsional mengonfigurasi output aplikasi untuk menyimpan data di aliran dalam aplikasi yang menahan output aplikasi Anda (juga disebut sebagai aliran output dalam aplikasi) ke tujuan eksternal. Tujuan eksternal dapat berupa aliran pengiriman Firehose atau aliran data Kinesis. Perhatikan hal berikut mengenai tujuan ini:

    • Anda dapat mengonfigurasi aliran pengiriman Firehose untuk menulis hasil ke Amazon S3, Amazon Redshift, atau Amazon OpenSearch Service (Service). OpenSearch

       

    • Anda juga dapat menulis output aplikasi ke tujuan kustom bukan ke Amazon S3 atau Amazon Redshift. Untuk melakukannya, Anda menentukan Kinesis data stream sebagai tujuan dalam konfigurasi output Anda. Kemudian, Anda mengonfigurasi AWS Lambda untuk melakukan polling aliran dan menjalankan fungsi Lambda Anda. Kode fungsi Lambda Anda menerima data aliran sebagai input. Dalam kode fungsi Lambda Anda, Anda dapat menulis data yang masuk ke tujuan kustom Anda. Untuk informasi selengkapnya, lihat Menggunakan AWS Lambda dengan Amazon Kinesis Data Analytics.

    Untuk informasi selengkapnya, lihat Mengonfigurasi Output Aplikasi.

Selain itu, perhatikan hal berikut:

  • Amazon Kinesis Data Analytics memerlukan izin untuk membaca catatan dari sumber streaming dan menulis output aplikasi ke tujuan eksternal. Anda menggunakan IAM role untuk memberikan izin ini.

     

  • Kinesis Data Analytics secara otomatis menyediakan aliran kesalahan dalam aplikasi untuk setiap aplikasi. Jika aplikasi Anda memiliki masalah saat memproses catatan tertentu (misalnya, karena ketidakcocokan tipe atau terlambat datang), catatan tersebut ditulis ke aliran kesalahan. Anda dapat mengonfigurasi output aplikasi untuk mengarahkan Kinesis Data Analytics untuk menyimpan data aliran kesalahan ke tujuan eksternal untuk evaluasi lebih lanjut. Untuk informasi selengkapnya, lihat Penanganan Kesalahan.

     

  • Amazon Kinesis Data Analytics memastikan catatan output aplikasi Anda ditulis ke tujuan yang dikonfigurasi. Ini menggunakan mode pemrosesan dan pengiriman "setidaknya sekali", meskipun jika Anda mengalami gangguan aplikasi. Lihat informasi yang lebih lengkap di Model Pengiriman untuk Menyimpan Output Aplikasi untuk Tujuan Eksternal.