

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: Jendela Stagger
<a name="examples-window-stagger"></a>

Ketika kueri jendela memproses jendela terpisah untuk setiap kunci partisi unik, yang dimulai ketika data dengan kunci yang cocok tiba, jendela dirujuk sebagai *jendela stagger*. Lihat perinciannya di [Jendela Stagger](stagger-window-concepts.md). Contoh Amazon Kinesis Data Analytics menggunakan kolom EVENT\$1TIME dan TICKER untuk membuat jendela stagger. Aliran sumber berisi grup enam catatan dengan nilai EVENT\$1TIME dan TICKER identik yang tiba dalam periode satu menit, tetapi tidak harus dengan nilai menit yang sama (misalnya, `18:41:xx`).

Dalam contoh ini, Anda menulis catatan berikut ke Kinesis data stream pada waktu berikut. Skrip tidak menulis waktu ke aliran, tetapi waktu catatan diserap oleh aplikasi ditulis ke bidang `ROWTIME`:

```
{"EVENT_TIME": "2018-08-01T20:17:20.797945", "TICKER": "AMZN"}   20:17:30
{"EVENT_TIME": "2018-08-01T20:17:20.797945", "TICKER": "AMZN"}   20:17:40
{"EVENT_TIME": "2018-08-01T20:17:20.797945", "TICKER": "AMZN"}   20:17:50
{"EVENT_TIME": "2018-08-01T20:17:20.797945", "TICKER": "AMZN"}   20:18:00
{"EVENT_TIME": "2018-08-01T20:17:20.797945", "TICKER": "AMZN"}   20:18:10
{"EVENT_TIME": "2018-08-01T20:17:20.797945", "TICKER": "AMZN"}   20:18:21
{"EVENT_TIME": "2018-08-01T20:18:21.043084", "TICKER": "INTC"}   20:18:31
{"EVENT_TIME": "2018-08-01T20:18:21.043084", "TICKER": "INTC"}   20:18:41
{"EVENT_TIME": "2018-08-01T20:18:21.043084", "TICKER": "INTC"}   20:18:51
{"EVENT_TIME": "2018-08-01T20:18:21.043084", "TICKER": "INTC"}   20:19:01
{"EVENT_TIME": "2018-08-01T20:18:21.043084", "TICKER": "INTC"}   20:19:11
{"EVENT_TIME": "2018-08-01T20:18:21.043084", "TICKER": "INTC"}   20:19:21
...
```



Anda kemudian membuat aplikasi Kinesis Data Analytics Konsol Manajemen AWS di, dengan aliran data Kinesis sebagai sumber streaming. Proses penemuan membaca catatan sampel pada sumber streaming dan menyimpulkan skema dalam aplikasi dengan dua kolom (`EVENT_TIME` dan `TICKER`) seperti yang ditunjukkan berikut ini.

![\[Tangkapan layar konsol yang menampilkan skema dalam aplikasi dengan kolom harga dan ticker.\]](http://docs.aws.amazon.com/id_id/kinesisanalytics/latest/dev/images/ex_stagger_schema.png)


Anda menggunakan kode aplikasi dengan fungsi `COUNT` untuk membuat jendela agregasi data. Anda selanjutnya memasukkan data yang dihasilkan ke aliran dalam aplikasi lainnya, seperti yang ditunjukkan dalam tangkapan layar bawah ini: 



![\[Tangkapan layar konsol yang menampilkan data yang dihasilkan di aliran dalam aplikasi.\]](http://docs.aws.amazon.com/id_id/kinesisanalytics/latest/dev/images/ex_stagger.png)


Dalam prosedur berikut, Anda membuat aplikasi Kinesis Data Analytics yang menggabungkan nilai dalam aliran input di jendela stagger berdasarkan EVENT\$1TIME dan TICKER.

**Topics**
+ [Langkah 1: Buat Kinesis Data Stream](#examples-stagger-window-1)
+ [Langkah 2: Buat Aplikasi Kinesis Data Analytics](#examples-stagger-window-2)

## Langkah 1: Buat Kinesis Data Stream
<a name="examples-stagger-window-1"></a>

Buat Amazon Kinesis data stream dan isi catatan sebagai berikut:

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 Streams** (Aliran Data) di panel navigasi.

1. Pilih **Create Kinesis stream** (Buat Aliran Kinesis), lalu buat aliran dengan satu serpihan. Untuk informasi selengkapnya, lihat [Buat Aliran](https://docs.aws.amazon.com/streams/latest/dev/learning-kinesis-module-one-create-stream.html) di *Panduan Developer Amazon Kinesis Data Streams*.

1. Untuk menulis catatan ke Kinesis data stream di lingkungan produksi, sebaiknya gunakan [Kinesis Producer Library](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-kpl.html) atau [API Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-sdk.html). Untuk kemudahan, contoh ini menggunakan skrip Python berikut untuk menghasilkan catatan. Jalankan kode untuk mengisi catatan ticker sampel. Kode sederhana ini terus menulis grup enam catatan dengan `EVENT_TIME` acak yang sama dan simbol ticker ke aliran, selama satu menit. Jaga skrip agar tetap berjalan agar Anda dapat menghasilkan skema aplikasi di langkah berikutnya.

   ```
    
   import datetime
   import json
   import random
   import time
   import boto3
   
   STREAM_NAME = "ExampleInputStream"
   
   
   def get_data():
       event_time = datetime.datetime.utcnow() - datetime.timedelta(seconds=10)
       return {
           "EVENT_TIME": event_time.isoformat(),
           "TICKER": random.choice(["AAPL", "AMZN", "MSFT", "INTC", "TBV"]),
       }
   
   
   def generate(stream_name, kinesis_client):
       while True:
           data = get_data()
           # Send six records, ten seconds apart, with the same event time and ticker
           for _ in range(6):
               print(data)
               kinesis_client.put_record(
                   StreamName=stream_name,
                   Data=json.dumps(data),
                   PartitionKey="partitionkey",
               )
               time.sleep(10)
   
   
   if __name__ == "__main__":
       generate(STREAM_NAME, boto3.client("kinesis"))
   ```

## Langkah 2: Buat Aplikasi Kinesis Data Analytics
<a name="examples-stagger-window-2"></a>

Buat aplikasi Amazon Kinesis Data Analytics seperti berikut:

1. [Buka Layanan Terkelola untuk konsol Apache Flink di https://console.aws.amazon.com /kinesisanalytics.](https://console.aws.amazon.com/kinesisanalytics)

1. Pilih **Create application** (Buat aplikasi), masukkan nama aplikasi, dan pilih **Create application** (Buat aplikasi).

1. Pada halaman detail aplikasi, pilih **Connect data streaming** (Sambungkan data streaming) untuk menyambungkan ke sumber. 

1. Di halaman **Sambungkan ke sumber**, lakukan hal berikut:

   

   1. Pilih aliran yang Anda buat di bagian sebelumnya. 

   1. Pilih **Discover Schema** (Temukan Skema). Tunggu hingga konsol menampilkan skema yang disimpulkan dan catatan sampel yang digunakan untuk menyimpulkan skema untuk aliran dalam aplikasi yang dibuat. Skema yang disimpulkan memiliki dua kolom.

   1. Pilih **Edit Schema** (Edit Skema). Ubah **Column type** (Tipe kolom) dari kolom **EVENT\$1TIME** ke `TIMESTAMP`.

   1. Pilih **Save schema and update stream samples** (Simpan skema dan perbarui sampel aliran). Setelah konsol menyimpan skema, pilih **Exit** (Keluar).

   1. Jangan pilih **Save and continue** (Simpan dan lanjutkan).

1. Di halaman detail aplikasi, pilih **Go to SQL editor** (Buka editor SQL). Untuk memulai aplikasi, pilih **Yes, start application** (Ya, mulai aplikasi) di kotak dialog yang muncul.

1. Di editor SQL, tulis kode aplikasi, dan verifikasi hasilnya sebagai berikut:

   1. Salin kode aplikasi berikut dan tempelkan ke editor.

      ```
      CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
          event_time TIMESTAMP,
          ticker_symbol    VARCHAR(4),
          ticker_count     INTEGER);
      
      CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
        INSERT INTO "DESTINATION_SQL_STREAM" 
          SELECT STREAM 
              EVENT_TIME, 
              TICKER,
              COUNT(TICKER) AS ticker_count
          FROM "SOURCE_SQL_STREAM_001"
          WINDOWED BY STAGGER (
                  PARTITION BY TICKER, EVENT_TIME RANGE INTERVAL '1' MINUTE);
      ```

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

      Di tab **Real-time analytics **(Analitik waktu nyata), Anda dapat melihat semua aliran dalam aplikasi yang dibuat aplikasi dan memverifikasi data. 