

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 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: Menggabungkan Hasil Parsial dari Kueri
<a name="examples-window-partialresults"></a>

Jika Amazon Kinesis data stream berisi catatan yang memiliki waktu peristiwa yang tidak sama persis dengan waktu penyerapan, pilihan hasil di jendela tumbling berisi catatan yang tiba, tetapi tidak selalu terjadi, di dalam jendela. Dalam kasus ini, jendela tumbling hanya berisi sebagian hasil yang Anda inginkan. Ada beberapa pendekatan yang dapat Anda gunakan untuk memperbaiki masalah ini:
+ Cukup gunakan jendela tumbling, dan gabungkan hasil parsial dalam pascapemrosesan melalui basis data atau gudang data menggunakan upserts. Pendekatan ini efisien dalam memproses aplikasi. Ini menangani data yang terlambat tanpa batas untuk operator agregat (`sum`, `min`, `max`, dan sebagainya). Kelemahan dari pendekatan ini adalah Anda harus mengembangkan dan memelihara logika aplikasi tambahan dalam lapisan basis data.
+ Gunakan jendela tumbling dan geser, yang menghasilkan hasil parsial awal, tetapi juga terus menghasilkan hasil yang lengkap selama periode jendela geser. Pendekatan ini menangani data yang terlambat dengan menimpa bukan upsert sehingga tidak ada logika aplikasi tambahan yang perlu ditambahkan dalam lapisan basis data. Kelemahan dari pendekatan ini adalah ia menggunakan lebih banyak unit pemrosesan Kinesis KPUs () dan masih menghasilkan dua hasil, yang mungkin tidak berfungsi untuk beberapa kasus penggunaan.

Untuk informasi selengkapnya tentang jendela tumbling dan geser, lihat [Kueri Jendela](windowed-sql.md).

Dalam prosedur berikut, agregasi jendela tumbling menghasilkan dua hasil parsial (dikirim ke aliran dalam aplikasi `CALC_COUNT_SQL_STREAM`) yang harus dikombinasikan untuk menghasilkan hasil akhir. Aplikasi kemudian menghasilkan agregasi kedua (dikirim ke aliran dalam aplikasi `DESTINATION_SQL_STREAM`) yang menggabungkan dua hasil parsial.

**Untuk membuat aplikasi yang mengumpulkan hasil parsial menggunakan waktu peristiwa**

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Kinesis di /kinesis. https://console.aws.amazon.com](https://console.aws.amazon.com/kinesis)

1. Pilih **Data Analytics** (Analitik Data) di panel navigasi. Buat aplikasi Kinesis Data Analytics seperti yang dijelaskan dalam tutorial [Memulai dengan Amazon Kinesis Data Analytics untuk Aplikasi SQL](getting-started.md).

1. Di editor SQL, ganti kode aplikasi dengan berikut ini: 

   ```
   CREATE OR REPLACE STREAM "CALC_COUNT_SQL_STREAM" 
       (TICKER      VARCHAR(4), 
       TRADETIME   TIMESTAMP, 
       TICKERCOUNT       DOUBLE);
   	            
   CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" 
       (TICKER      VARCHAR(4), 
       TRADETIME   TIMESTAMP, 
       TICKERCOUNT       DOUBLE);            
   	
   CREATE PUMP "CALC_COUNT_SQL_PUMP_001" AS 
       INSERT INTO "CALC_COUNT_SQL_STREAM" ("TICKER","TRADETIME", "TICKERCOUNT")
       SELECT STREAM
           "TICKER_SYMBOL",
           STEP("SOURCE_SQL_STREAM_001"."ROWTIME" BY INTERVAL '1' MINUTE) as "TradeTime",
           COUNT(*) AS "TickerCount"
       FROM "SOURCE_SQL_STREAM_001"
       GROUP BY
           STEP("SOURCE_SQL_STREAM_001".ROWTIME BY INTERVAL '1' MINUTE),
           STEP("SOURCE_SQL_STREAM_001"."APPROXIMATE_ARRIVAL_TIME" BY INTERVAL '1' MINUTE),
           TICKER_SYMBOL;
   
   CREATE PUMP "AGGREGATED_SQL_PUMP" AS 
       INSERT INTO "DESTINATION_SQL_STREAM" ("TICKER","TRADETIME", "TICKERCOUNT")
       SELECT STREAM
           "TICKER",
           "TRADETIME",
           SUM("TICKERCOUNT") OVER W1 AS "TICKERCOUNT"
       FROM "CALC_COUNT_SQL_STREAM"
       WINDOW W1 AS (PARTITION BY "TRADETIME" RANGE INTERVAL '10' MINUTE PRECEDING);
   ```

   Pernyataan `SELECT` dalam kode aplikasi memfilter baris dalam `SOURCE_SQL_STREAM_001` untuk perubahan harga stok yang lebih besar dari 1 persen dan memasukkan baris ke aliran dalam aplikasi lainnya `CHANGE_STREAM` menggunakan pompa. 

1. Pilih **Save and run SQL** (Simpan dan jalankan SQL).

Pompa pertama mengeluarkan aliran ke `CALC_COUNT_SQL_STREAM` yang mirip dengan berikut ini. Perhatikan bahwa hasil set tidak lengkap: 

![\[Tangkapan layar konsol yang menunjukkan hasil parsial.\]](http://docs.aws.amazon.com/id_id/kinesisanalytics/latest/dev/images/ex_partial_0.png)


Pompa kedua kemudian menghasilkan aliran ke `DESTINATION_SQL_STREAM` yang berisi sekumpulan hasil yang lengkap: 

![\[Tangkapan layar konsol yang menunjukkan hasil yang lengkap.\]](http://docs.aws.amazon.com/id_id/kinesisanalytics/latest/dev/images/ex_partial_1.png)
