Mengonfigurasi Input Aplikasi - Panduan Pengembang Amazon Kinesis Data Analytics SQL untuk Aplikasi

Untuk proyek baru, kami menyarankan Anda menggunakan Managed Service baru untuk Apache Flink Studio melalui Kinesis Data Analytics for Applications. SQL Layanan Terkelola untuk Apache Flink Studio menggabungkan kemudahan penggunaan dengan kemampuan analitis tingkat lanjut, memungkinkan Anda membangun aplikasi pemrosesan aliran yang canggih dalam hitungan menit.

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

Mengonfigurasi Input Aplikasi

Aplikasi Amazon Kinesis Data Analytics Anda dapat menerima input dari satu sumber streaming dan, secara opsional, menggunakan satu sumber data referensi. Untuk informasi selengkapnya, lihat Amazon Kinesis Data Analytics untuk Aplikasi SQL: Cara Kerjanya. Bagian dalam topik ini menjelaskan sumber input aplikasi.

Mengonfigurasi Sumber Streaming

Ketika Anda membuat aplikasi, Anda menentukan sumber streaming. Anda juga dapat memodifikasi input setelah Anda membuat aplikasi. Amazon Kinesis Data Analytics mendukung sumber streaming berikut untuk aplikasi Anda:

  • Kinesis data stream

  • Aliran pengiriman Firehose

catatan

Setelah 12 September 2023, Anda tidak akan dapat membuat aplikasi baru menggunakan Kinesis Data Firehose sebagai sumber jika Anda belum menggunakan Kinesis Data Analytics untuk SQL. Pelanggan lama yang menggunakan Kinesis Data Analytics untuk aplikasi SQL KinesisFirehoseInput dengan dapat terus menambahkan aplikasi KinesisFirehoseInput dengan dalam akun yang ada menggunakan Kinesis Data Analytics. Jika Anda adalah pelanggan lama dan ingin membuat akun baru dengan Kinesis Data Analytics untuk aplikasi KinesisFirehoseInput SQL, Anda dapat membuat kasus melalui formulir peningkatan batas layanan. Untuk informasi selengkapnya, lihat PusatAWS Support. Kami menyarankan untuk selalu menguji aplikasi baru sebelum mempromosikan ke produksi.

catatan

Jika Kinesis data stream dienkripsi, Kinesis Data Analytics mengakses data dalam aliran terenkripsi tanpa perlu konfigurasi lebih lanjut. Kinesis Data Analytics tidak menyimpan data tidak terenkripsi yang dibaca dari Kinesis Data Streams. Untuk informasi selengkapnya, lihat Apa Itu Enkripsi Sisi Server untuk Kinesis Data Streams?.

Kinesis Data Analytics terus melakukan polling terhadap sumber streaming untuk data baru dan menyerapnya di aliran dalam aplikasi sesuai dengan konfigurasi input.

catatan

Menambahkan Aliran Kinesis sebagai input aplikasi Anda tidak memengaruhi data dalam aliran. Jika sumber daya lain seperti aliran pengiriman Firehose juga mengakses aliran Kinesis yang sama, aliran pengiriman Firehose dan aplikasi Kinesis Data Analytics akan menerima data yang sama. Namun, throughput dan throttling mungkin akan terpengaruh.

Kode aplikasi Anda dapat mengkueri aliran dalam aplikasi. Sebagai bagian dari konfigurasi input, Anda memberikan yang berikut ini:

  • Sumber streaming – Anda memberikan Amazon Resource Name (ARN) aliran dan IAM role yang dapat diasumsikan Kinesis Data Analytics untuk mengakses streaming atas nama Anda.

  • Prefiks nama aliran dalam aplikasi – Saat Anda memulai aplikasi, Kinesis Data Analytics membuat aliran dalam aplikasi yang ditentukan. Dalam kode aplikasi Anda, Anda mengakses aliran dalam aplikasi menggunakan nama ini.

    Anda dapat secara opsional memetakan sumber streaming ke beberapa aliran dalam aplikasi. Untuk informasi selengkapnya, lihat Batas. Dalam hal ini, Amazon Kinesis Data Analytics membuat sejumlah aliran dalam aplikasi yang ditentukan dengan nama sebagai berikut: prefiks_001,prefiks_002, dan prefiks_003. Secara default, Kinesis Data Analytics memetakan sumber streaming ke satu aliran dalam aplikasi bernama prefiks_001.

    Ada batas kecepatan Anda dapat memasukkan baris di aliran dalam aplikasi. Oleh karena itu, Kinesis Data Analytics mendukung beberapa aliran dalam aplikasi sehingga Anda dapat membawa catatan ke aplikasi Anda dengan kecepatan yang jauh lebih cepat. Jika Anda merasa aplikasi Anda tidak mengikuti data dalam sumber streaming, Anda dapat menambahkan unit paralelisme untuk meningkatkan performa.

  • Skema pemetaan – Anda menjelaskan format catatan (JSON, CSV) pada sumber streaming. Anda juga menjelaskan bagaimana setiap catatan di aliran memetakan ke kolom di aliran dalam aplikasi yang dibuat. Di sini Anda memberikan nama kolom dan tipe data.

catatan

Kinesis Data Analytics menambahkan tanda kutip di sekitar pengidentifikasi (nama aliran dan nama kolom) saat membuat aliran input dalam aplikasi. Ketika mengkueri aliran ini dan kolom, Anda harus menentukan keduanya dalam tanda kutip menggunakan casing yang sama (mencocokkan huruf kecil dan huruf besar dengan tepat). Untuk informasi selengkapnya tentang pengidentifikasi, lihat Pengidentifikasi di Amazon Managed Service for Apache Flink SQL Reference.

Anda dapat membuat aplikasi dan mengonfigurasi input di konsol Amazon Kinesis Data Analytics. Konsol kemudian membuat panggilan API yang diperlukan. Anda dapat mengonfigurasi input aplikasi ketika Anda membuat API aplikasi baru atau menambahkan konfigurasi input ke aplikasi yang ada. Lihat informasi yang lebih lengkap di CreateApplication dan AddApplicationInput. Berikut adalah bagian konfigurasi input dari isi permintaan API Createapplication:

"Inputs": [ { "InputSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "KinesisFirehoseInput": { "ResourceARN": "string", "RoleARN": "string" }, "KinesisStreamsInput": { "ResourceARN": "string", "RoleARN": "string" }, "Name": "string" } ]

Mengonfigurasi Sumber Referensi

Anda juga dapat menambahkan sumber data referensi ke aplikasi yang ada untuk memperkaya data yang masuk dari sumber streaming. Anda harus menyimpan data referensi sebagai objek di bucket Amazon S3. Ketika aplikasi dimulai, Amazon Kinesis Data Analytics membaca objek Amazon S3 dan membuat tabel referensi dalam aplikasi. Kode aplikasi Anda selanjutnya dapat menggabungkannya dengan aliran dalam aplikasi.

Anda menyimpan data referensi di objek Amazon S3 menggunakan format yang didukung (CSV, JSON). Misalnya, aplikasi Anda melakukan analitik pada pesanan stok. Asumsikan format catatan berikut pada sumber streaming:

Ticker, SalePrice, OrderId AMZN $700 1003 XYZ $250 1004 ...

Dalam hal ini, Anda selanjutnya dapat mempertimbangkan untuk mempertahankan sumber data referensi untuk memberikan detail pada setiap ticker saham, seperti nama perusahaan.

Ticker, Company AMZN, Amazon XYZ, SomeCompany ...

Anda dapat menambahkan sumber data referensi aplikasi baik dengan API maupun dengan konsol. Amazon Kinesis Data Analytics menyediakan tindakan API berikut untuk mengelola sumber data referensi:

Untuk informasi selengkapnya tentang menambahkan data referensi menggunakan konsol, lihat Contoh: Menambahkan Data Referensi ke Aplikasi Kinesis Data Analytics.

Perhatikan hal berikut:

  • Jika aplikasi berjalan, Kinesis Data Analytics membuat tabel referensi dalam aplikasi, lalu segera memuat data referensi.

  • Jika aplikasi tidak berjalan (misalnya, dalam status siap), Kinesis Data Analytics hanya menyimpan konfigurasi input yang diperbarui. Saat aplikasi mulai berjalan, Kinesis Data Analytics memuat data referensi dalam aplikasi Anda sebagai tabel.

Misalkan Anda ingin me-refresh data setelah Kinesis Data Analytics membuat tabel referensi dalam aplikasi. Mungkin Anda memperbarui objek Amazon S3, atau Anda ingin menggunakan objek Amazon S3 yang berbeda. Dalam hal ini, Anda dapat secara eksplisit memanggil UpdateApplication, atau pilih Action (Tindakan), Synchronize reference data table (Sinkronkan tabel data referensi) di konsol. Kinesis Data Analytics tidak me-refresh tabel referensi dalam aplikasi secara otomatis.

Ada batas pada ukuran objek Amazon S3 yang dapat Anda buat sebagai sumber data referensi. Untuk informasi selengkapnya, lihat Batas. Jika ukuran objek melebihi batas, Kinesis Data Analytics tidak dapat memuat data. Status aplikasi muncul sebagai berjalan, tetapi data tidak sedang dibaca.

Ketika Anda menambahkan sumber data referensi, Anda memberikan informasi berikut:

  • Bucket S3 dan nama kunci objek – Selain nama bucket dan kunci objek, Anda juga memberikan IAM role yang dapat diasumsikan oleh Kinesis Data Analytics untuk membaca objek atas nama Anda.

  • Nama tabel referensi dalam aplikasi – Kinesis Data Analytics membuat tabel dalam aplikasi ini dan mengisinya dengan membaca objek Amazon S3. Ini adalah nama tabel yang Anda tentukan dalam kode aplikasi Anda.

  • Skema pemetaan – Anda mendeskripsikan format catatan (JSON, CSV), encoding data yang tersimpan dalam objek Amazon S3. Anda juga menjelaskan bagaimana setiap elemen data dipetakan ke kolom dalam tabel referensi dalam aplikasi.

Berikut ini menunjukkan isi permintaan dalam permintaan API AddApplicationReferenceDataSource.

{ "applicationName": "string", "CurrentapplicationVersionId": number, "ReferenceDataSource": { "ReferenceSchema": { "RecordColumns": [ { "IsDropped": boolean, "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "S3ReferenceDataSource": { "BucketARN": "string", "FileKey": "string", "ReferenceRoleARN": "string" }, "TableName": "string" } }