Contoh: Mendeteksi Hotspot di Aliran (Fungsi HOTSPOTS) - Panduan Pengembang Amazon Kinesis Data Analytics SQL untuk Aplikasi

Untuk proyek baru, kami menyarankan Anda menggunakan Managed Service baru untuk Apache Flink Studio melalui Kinesis Data Analytics for Applications. 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.

Contoh: Mendeteksi Hotspot di Aliran (Fungsi HOTSPOTS)

Amazon Kinesis Data Analytics menyediakan fungsi HOTSPOTS, yang dapat menemukan dan mengembalikan informasi tentang wilayah yang relatif padat dalam data Anda. Untuk informasi selengkapnya, lihat HOTSPOT di Amazon Managed Service for Apache Flink SQL Reference.

Dalam latihan ini, Anda menulis kode aplikasi untuk menemukan hotspot pada sumber streaming aplikasi Anda. Untuk menyiapkan aplikasi, Anda melakukan langkah-langkah berikut:

  1. Siapkan sumber streaming – Anda menyiapkan aliran Kinesis dan menulis data koordinat sampel, seperti yang ditunjukkan berikut:

    {"x": 7.921782426109737, "y": 8.746265312709893, "is_hot": "N"} {"x": 0.722248626528026, "y": 4.648868803193405, "is_hot": "Y"}

    Contoh ini memberi Anda skrip Python untuk mengisi aliran. Nilai x dan y dibuat secara acak, dengan beberapa catatan yang diklasterkan di sekitar lokasi tertentu.

    Bidang is_hot disediakan sebagai indikator jika skrip sengaja membuat nilai sebagai bagian dari hotspot. Ini dapat membantu Anda mengevaluasi apakah fungsi deteksi hotspot bekerja dengan benar.

  2. Buat aplikasi — MenggunakanAWS Management Console, Anda kemudian membuat aplikasi Kinesis Data Analytics. Konfigurasikan input aplikasi dengan memetakan sumber streaming ke aliran dalam aplikasi (SOURCE_SQL_STREAM_001). Saat aplikasi dimulai, Kinesis Data Analytics terus membaca sumber streaming dan memasukkan catatan ke dalam aliran dalam aplikasi.

    Dalam latihan ini, Anda menggunakan kode berikut untuk aplikasi:

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" ( "x" DOUBLE, "y" DOUBLE, "is_hot" VARCHAR(4), HOTSPOTS_RESULT VARCHAR(10000) ); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT "x", "y", "is_hot", "HOTSPOTS_RESULT" FROM TABLE ( HOTSPOTS( CURSOR(SELECT STREAM "x", "y", "is_hot" FROM "SOURCE_SQL_STREAM_001"), 1000, 0.2, 17) );

    Kode membaca baris di SOURCE_SQL_STREAM_001, menganalisisnya untuk hotspot yang signifikan, dan menulis data yang dihasilkan ke aliran dalam aplikasi lainnya (DESTINATION_SQL_STREAM). Anda menggunakan pompa untuk memasukkan baris di aliran dalam aplikasi. Untuk informasi selengkapnya, lihat Aliran dan Pompa dalam Aplikasi.

  3. Konfigurasikan output – Anda mengonfigurasi output aplikasi untuk mengirim data dari aplikasi ke tujuan eksternal, yang merupakan Kinesis data stream lainnya. Tinjau skor hotspot dan tentukan nilai apa yang menunjukkan hotspot terjadi (dan Anda perlu diberi tahu). Anda dapat menggunakan fungsi AWS Lambda untuk memproses informasi hotspot lebih lanjut dan mengonfigurasi pemberitahuan.

  4. Verifikasi output - Contoh termasuk JavaScript aplikasi yang membaca data dari aliran output dan menampilkannya secara grafis, sehingga Anda dapat melihat hotspot yang dihasilkan aplikasi secara real time.

Latihan ini menggunakan US West (Oregon) (us-west-2) untuk membuat aliran ini dan aplikasi Anda. Jika Anda menggunakan Wilayah lain, perbarui kode tersebut dengan sesuai.