

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 String
<a name="examples-transforming-strings"></a>

Amazon Kinesis Data Analytics mendukung format seperti JSON dan CSV untuk catatan pada sumber streaming. Lihat perinciannya di [RecordFormat](API_RecordFormat.md). Catatan ini kemudian dipetakan ke baris di aliran dalam aplikasi sesuai dengan konfigurasi input. Lihat perinciannya di [Mengonfigurasi Input Aplikasi](how-it-works-input.md). Konfigurasi input menentukan bagaimana bidang catatan di sumber streaming dipetakan ke kolom di aliran dalam aplikasi. 

Pemetaan ini berfungsi ketika catatan pada sumber streaming mengikuti format yang didukung, yang menghasilkan aliran dalam aplikasi dengan data yang dinormalkan. Namun bagaimana jika data pada sumber streaming Anda tidak sesuai dengan standar yang didukung? Misalnya, bagaimana jika sumber streaming Anda berisi data seperti data clickstream, sensor IoT, dan log aplikasi? 

Pertimbangkan contoh berikut:
+ Sumber streaming berisi log aplikasi – Log aplikasi mengikuti format log Apache standar, dan ditulis ke aliran menggunakan format JSON. 

  ```
  {
     "Log":"192.168.254.30 - John [24/May/2004:22:01:02 -0700] "GET /icons/apache_pb.gif HTTP/1.1" 304 0"
  }
  ```

  Untuk informasi selengkapnya tentang format log Apache standar, lihat [File Log](https://httpd.apache.org/docs/2.4/logs.html) di situs web Apache. 

   
+ Sumber streaming berisi data semi-terstruktur – Contoh berikut menunjukkan dua catatan. Nilai bidang `Col_E_Unstructured` adalah serangkaian nilai yang dipisahkan koma. Ada lima kolom: empat pertama memiliki nilai tipe string, dan kolom terakhir berisi nilai yang dipisahkan koma.

  ```
  { "Col_A" : "string",
    "Col_B" : "string",
    "Col_C" : "string",
    "Col_D" : "string",
    "Col_E_Unstructured" : "value,value,value,value"}
  
  { "Col_A" : "string",
    "Col_B" : "string",
    "Col_C" : "string",
    "Col_D" : "string",
    "Col_E_Unstructured" : "value,value,value,value"}
  ```
+ Catatan pada sumber streaming Anda berisi URLs, dan Anda memerlukan sebagian dari nama domain URL untuk analitik.

  ```
  { "referrer" : "http://www.amazon.com"}
  { "referrer" : "http://www.stackoverflow.com" }
  ```

Dalam kasus tersebut, proses dua langkah berikut umumnya berfungsi untuk membuat aliran dalam aplikasi yang berisi data yang dinormalkan:

1. Konfigurasikan input aplikasi untuk memetakan bidang tidak terstruktur ke kolom dari tipe `VARCHAR(N)` di aliran input dalam aplikasi yang dibuat.

1. Dalam kode aplikasi Anda, gunakan fungsi string untuk membagi kolom tunggal ini menjadi beberapa kolom, lalu menyimpan baris di aliran dalam aplikasi lain. Aliran dalam aplikasi yang dibuat kode Anda ini akan memiliki data yang dinormalkan. Anda kemudian dapat melakukan analisis pada aliran dalam aplikasi ini.

Amazon Kinesis Data Analytics menyediakan operasi string berikut, fungsi SQL standar, dan ekstensi ke standar SQL untuk bekerja dengan kolom string: 
+ **Operator string** – Operator seperti `LIKE` dan `SIMILAR` berguna dalam membandingkan string. Untuk informasi selengkapnya, lihat [String Operator](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-string-operators.html) di *Amazon Managed Service for Apache Flink SQL* Reference.
+ **Fungsi SQL** – Fungsi berikut berguna ketika memanipulasi string individual. Untuk informasi selengkapnya, lihat [Fungsi String dan Pencarian](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-string-and-search-functions.html) di *Amazon Managed Service for Apache Flink SQL* Reference.
  + `CHAR_LENGTH` – Menyediakan panjang string. 
  + `INITCAP` – Mengembalikan versi yang dikonversi dari string input sehingga karakter pertama dari setiap kata yang dipisahkan spasi adalah huruf besar, dan semua karakter lainnya adalah huruf kecil. 
  + `LOWER/UPPER` – Mengonversi string ke huruf kecil atau huruf besar. 
  + `OVERLAY` – Mengganti sebagian argumen string pertama (string asli) dengan argumen string kedua (string pengganti).
  + `POSITION` – Mencari string dalam string lain. 
  + `REGEX_REPLACE` – Mengganti substring dengan substring alternatif.
  + `SUBSTRING` – Mengekstrak sebagian string sumber yang dimulai dari posisi tertentu. 
  + `TRIM` – Menghapus instans karakter tertentu dari awal atau akhir string sumber. 
+ **Ekstensi SQL** — Ini berguna untuk bekerja dengan string tidak terstruktur seperti log dan. URIs Untuk informasi selengkapnya, lihat [Fungsi Parsing Log](https://docs.aws.amazon.com/kinesisanalytics/latest/sqlref/sql-reference-pattern-matching-functions.html) di *Amazon Managed Service for Apache Flink* SQL Reference.
  + `FAST_REGEX_LOG_PARSER` – Berfungsi mirip dengan parser regex, tetapi membutuhkan beberapa pintasan untuk memastikan hasil yang lebih cepat. Sebagai contoh, parser regex cepat berhenti pada pencocokan pertama yang ditemukannya (dikenal sebagai *semantik nonaktif*).
  + `FIXED_COLUMN_LOG_PARSE` – Menguraikan bidang dengan lebar tetap dan secara otomatis mengonversinya ke tipe SQL yang diberikan.
  + `REGEX_LOG_PARSE` – Menguraikan string berdasarkan pola ekspresi reguler Java default.
  + `SYS_LOG_PARSE`— Mem-parsing entri yang biasa ditemukan di log UNIX/Linux sistem.
  + `VARIABLE_COLUMN_LOG_PARSE` – Membagi string input ke dalam bidang yang dipisahkan oleh karakter pembatas atau string pembatas.
  + `W3C_LOG_PARSE` – Dapat digunakan untuk memformat log Apache dengan cepat.

Untuk contoh menggunakan fungsi ini, lihat topik berikut:

**Topics**
+ [Contoh: Mengekstrak Bagian String (Fungsi SUBSTRING)](examples-transforming-strings-substring.md)
+ [Contoh: Mengganti Substring menggunakan Regex (Fungsi REGEX\$1REPLACE)](examples-transforming-strings-regexreplace.md)
+ [Contoh: Menguraikan String Log Berdasarkan Ekspresi Reguler (Fungsi REGEX\$1LOG\$1PARSE)](examples-transforming-strings-regexlogparse.md)
+ [Contoh: Mengurai Log Web (Fungsi W3C\$1LOG\$1PARSE)](examples-transforming-strings-w3clogparse.md)
+ [Contoh: Bagi String menjadi Beberapa Bidang (Fungsi VARIABLE\$1COLUMN\$1LOG\$1PARSE)](examples-transforming-strings-variablecolumnlogparse.md)