

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: Mengubah Nilai DateTime
<a name="app-string-datetime-manipulation"></a>

Amazon Kinesis Data Analytics mendukung konversi kolom menjadi stempel waktu. Misalnya, Anda mungkin ingin menggunakan stempel waktu Anda sendiri sebagai bagian dari klausa `GROUP BY` sebagai jendela berbasis waktu lainnya, selain kolom `ROWTIME`. Kinesis Data Analytics menyediakan operasi dan fungsi SQL untuk bekerja dengan bidang tanggal dan waktu. 
+ **Operator tanggal dan waktu** – Anda dapat melakukan operasi aritmetika pada tanggal, waktu, dan tipe data interval. Untuk informasi selengkapnya, lihat [Operator Tanggal, Stempel Waktu, dan Interval](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-date-timestamp-interval.html) di *Amazon Managed Service for Apache Flink* SQL Reference.

   
+ **Fungsi SQL** – Ini termasuk hal berikut. Untuk informasi selengkapnya, lihat [Fungsi Tanggal dan Waktu](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-date-time-functions.html) di *Amazon Managed Service for Apache Flink SQL* Reference. 
  + `EXTRACT()` – Mengekstrak satu bidang dari ekspresi date, time, timestamp, atau interval.
  + `CURRENT_TIME` – Mengembalikan waktu ketika kueri dijalankan (UTC).
  + `CURRENT_DATE` – Mengembalikan tanggal ketika kueri dijalankan (UTC).
  + `CURRENT_TIMESTAMP` – Mengembalikan stempel waktu ketika kueri dijalankan (UTC).
  + `LOCALTIME` – Mengembalikan waktu saat ini ketika kueri dijalankan sebagaimana ditetapkan oleh lingkungan tempat Amazon Kinesis Data Analytics berjalan (UTC).
  + `LOCALTIMESTAMP` – Mengembalikan stempel waktu saat ini sebagaimana ditetapkan oleh lingkungan tempat Amazon Kinesis Data Analytics berjalan (UTC).

     
+ **Ekstensi SQL** – Ini termasuk hal berikut. Untuk informasi selengkapnya, lihat Fungsi [Tanggal dan Waktu serta Fungsi](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-date-time-functions.html) [Konversi Datetime](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-datetime-conversion-functions.html) di *Amazon Managed Service for Apache Flink* SQL Reference. 
  + `CURRENT_ROW_TIMESTAMP` – Mengembalikan stempel waktu baru untuk setiap baris di aliran. 
  + `TSDIFF` – Mengembalikan perbedaan dua stempel waktu dalam milidetik.
  + `CHAR_TO_DATE` – Mengonversi string ke tanggal.
  + `CHAR_TO_TIME` – Mengonversi string ke waktu.
  + `CHAR_TO_TIMESTAMP` – Mengonversi string ke stempel waktu.
  + `DATE_TO_CHAR` – Mengonversi tanggal ke string.
  + `TIME_TO_CHAR` – Mengonversi waktu ke string.
  + `TIMESTAMP_TO_CHAR` – Mengonversi stempel waktu ke string.

Sebagian besar fungsi SQL sebelumnya menggunakan format untuk mengonversi kolom. Formatnya fleksibel. Misalnya, Anda dapat menentukan format `yyyy-MM-dd hh:mm:ss` untuk mengonversi string input `2009-09-16 03:15:24` menjadi stempel waktu. Untuk informasi selengkapnya, [Char To Timestamp (Sys) di](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-char-to-timestamp.html) *Amazon Managed Service for Apache* Flink SQL Reference. 

## Contoh: Mengubah Tanggal
<a name="examples-transforming-dates"></a>

Dalam contoh ini, Anda menulis catatan berikut ke Amazon Kinesis data stream. 

```
{"EVENT_TIME": "2018-05-09T12:50:41.337510", "TICKER": "AAPL"}
{"EVENT_TIME": "2018-05-09T12:50:41.427227", "TICKER": "MSFT"}
{"EVENT_TIME": "2018-05-09T12:50:41.520549", "TICKER": "INTC"}
{"EVENT_TIME": "2018-05-09T12:50:41.610145", "TICKER": "MSFT"}
{"EVENT_TIME": "2018-05-09T12:50:41.704395", "TICKER": "AAPL"}
...
```



Anda kemudian membuat aplikasi Kinesis Data Analytics di konsol, dengan aliran 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.

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


Kemudian, Anda menggunakan kode aplikasi dengan fungsi SQL untuk mengonversi bidang stempel waktu `EVENT_TIME` dalam berbagai cara. 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_datetime_convert_1.png)




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

Buat Amazon Kinesis data stream dan isi dengan waktu peristiwa dan catatan ticker 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), dan buat aliran dengan satu serpihan.

1. Jalankan kode Python berikut untuk mengisi aliran dengan data sampel. Kode sederhana ini terus menulis catatan dengan simbol ticker acak dan stempel waktu saat ini ke aliran.

   ```
    
   import datetime
   import json
   import random
   import boto3
   
   STREAM_NAME = "ExampleInputStream"
   
   
   def get_data():
       return {
           "EVENT_TIME": datetime.datetime.now().isoformat(),
           "TICKER": random.choice(["AAPL", "AMZN", "MSFT", "INTC", "TBV"]),
           "PRICE": round(random.random() * 100, 2),
       }
   
   
   def generate(stream_name, kinesis_client):
       while True:
           data = get_data()
           print(data)
           kinesis_client.put_record(
               StreamName=stream_name, Data=json.dumps(data), PartitionKey="partitionkey"
           )
   
   
   if __name__ == "__main__":
       generate(STREAM_NAME, boto3.client("kinesis"))
   ```

### Langkah 2: Buat Aplikasi Amazon Kinesis Data Analytics
<a name="examples-transforming-dates-2"></a>

Buat aplikasi sebagai 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 untuk membuat IAM role.

   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" (
          TICKER VARCHAR(4), 
          event_time TIMESTAMP, 
          five_minutes_before TIMESTAMP, 
          event_unix_timestamp BIGINT,
          event_timestamp_as_char VARCHAR(50),
          event_second INTEGER);
      
      CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM"
      
      SELECT STREAM 
          TICKER, 
          EVENT_TIME,
          EVENT_TIME - INTERVAL '5' MINUTE,
          UNIX_TIMESTAMP(EVENT_TIME),
          TIMESTAMP_TO_CHAR('yyyy-MM-dd hh:mm:ss', EVENT_TIME),
          EXTRACT(SECOND FROM EVENT_TIME) 
      FROM "SOURCE_SQL_STREAM_001"
      ```

   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. 