

Setelah mempertimbangkan dengan cermat, kami memutuskan untuk menghentikan Amazon Kinesis Data Analytics untuk aplikasi SQL:

1. Mulai **1 September 2025,** kami tidak akan memberikan perbaikan bug apa pun untuk Amazon Kinesis Data Analytics untuk aplikasi SQL karena kami akan memiliki dukungan terbatas untuk itu, mengingat penghentian yang akan datang.

2. Mulai **15 Oktober 2025,** Anda tidak akan dapat membuat Kinesis Data Analytics baru untuk aplikasi SQL.

3. Kami akan menghapus aplikasi Anda mulai **27 Januari 2026**. Anda tidak akan dapat memulai atau mengoperasikan Amazon Kinesis Data Analytics untuk aplikasi SQL. Support tidak akan lagi tersedia untuk Amazon Kinesis Data Analytics untuk SQL sejak saat itu. Untuk informasi selengkapnya, lihat [Amazon Kinesis Data Analytics untuk penghentian Aplikasi SQL](discontinuation.md).

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

# Contoh: Mendeteksi Anomali Data pada Aliran (Fungsi RANDOM\_CUT\_FORECT)
<a name="app-anomaly-detection"></a>

Amazon Kinesis Data Analytics menyediakan fungsi (`RANDOM_CUT_FOREST`) yang dapat menetapkan skor anomali ke setiap catatan berdasarkan nilai-nilai dalam kolom numerik. Untuk informasi selengkapnya, lihat [`RANDOM_CUT_FOREST`Fungsi](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/analytics-sql-reference.html) di *Amazon Managed Service for Apache Flink SQL* Reference. 

Dalam latihan ini, Anda menulis kode aplikasi untuk menetapkan skor anomali ke catatan pada sumber streaming aplikasi Anda. Untuk menyiapkan aplikasi, Anda melakukan hal berikut:

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

   ```
   {"heartRate": 60, "rateType":"NORMAL"}
   ...
   {"heartRate": 180, "rateType":"HIGH"}
   ```

   Prosedur ini memberi Anda skrip Python untuk mengisi aliran. Nilai `heartRate` dibuat secara acak, dengan 99 persen catatan memiliki nilai `heartRate` antara 60 dan 100, dan hanya 1 persen dari nilai `heartRate` antara 150 dan 200. Dengan demikian, catatan yang memiliki nilai `heartRate` antara 150 dan 200 adalah anomali. 

1. **Konfigurasi input** – Dengan menggunakan konsol, Anda membuat aplikasi Kinesis Data Analytics dan mengonfigurasi 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.

1. **Tentukan kode aplikasi** – Contoh ini menggunakan kode aplikasi berikut:

   ```
   --Creates a temporary stream.
   CREATE OR REPLACE STREAM "TEMP_STREAM" (
   	        "heartRate"        INTEGER,
   	        "rateType"         varchar(20),
   	        "ANOMALY_SCORE"    DOUBLE);
   
   --Creates another stream for application output.	        
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
   	        "heartRate"        INTEGER,
   	        "rateType"         varchar(20),
   	        "ANOMALY_SCORE"    DOUBLE);
   
   -- Compute an anomaly score for each record in the input stream
   -- using Random Cut Forest
   CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
      INSERT INTO "TEMP_STREAM"
         SELECT STREAM "heartRate", "rateType", ANOMALY_SCORE 
         FROM TABLE(RANDOM_CUT_FOREST(
                 CURSOR(SELECT STREAM * FROM "SOURCE_SQL_STREAM_001")));
   
   -- Sort records by descending anomaly score, insert into output stream
   CREATE OR REPLACE PUMP "OUTPUT_PUMP" AS 
      INSERT INTO "DESTINATION_SQL_STREAM"
         SELECT STREAM * FROM "TEMP_STREAM"
         ORDER BY FLOOR("TEMP_STREAM".ROWTIME TO SECOND), ANOMALY_SCORE DESC;
   ```

   Kode membaca baris dalam `SOURCE_SQL_STREAM_001`, menetapkan skor anomali, dan menulis baris yang dihasilkan ke aliran dalam aplikasi lainnya (`TEMP_STREAM`). Kode aplikasi kemudian mengurutkan catatan di `TEMP_STREAM` dan menyimpan hasilnya ke aliran dalam aplikasi lainnya (`DESTINATION_SQL_STREAM`). Anda menggunakan pompa untuk memasukkan baris di aliran dalam aplikasi. Untuk informasi selengkapnya, lihat [In-Application Aliran dan Pompa](streams-pumps.md).

1. **Konfigurasi output** – Anda mengonfigurasi output aplikasi untuk menyimpan data dalam `DESTINATION_SQL_STREAM` ke tujuan eksternal, yang merupakan Kinesis data stream lainnya. Meninjau skor anomali yang ditetapkan untuk setiap catatan dan dan menentukan skor yang menunjukkan anomali (dan Anda perlu diberi tahu) adalah hal di luar aplikasi. Anda dapat menggunakan AWS Lambda fungsi untuk memproses skor anomali ini dan mengonfigurasi peringatan. 

Latihan ini menggunakan US East (N. Virginia) (`us-east-1`) untuk membuat aliran ini dan aplikasi Anda. Jika Anda menggunakan Wilayah lain, Anda harus memperbarui kode tersebut dengan sesuai.

**Topics**
+ [Langkah 1: Siapkan](app-anomaly-prepare.md)
+ [Langkah 2: Buat Aplikasi](app-anom-score-create-app.md)
+ [Langkah 3: Konfigurasi Output Aplikasi](app-anomaly-create-ka-app-config-destination.md)
+ [Langkah 4: Verifikasi Output](app-anomaly-verify-output.md)

**Langkah Selanjutnya**  
[Langkah 1: Siapkan](app-anomaly-prepare.md)