Contoh: Menambahkan Data Referensi ke Aplikasi Kinesis Data Analytics - 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.

Contoh: Menambahkan Data Referensi ke Aplikasi Kinesis Data Analytics

Dalam latihan ini, Anda menambahkan data referensi ke aplikasi Kinesis Data Analytics yang ada. Untuk informasi tentang data referensi, lihat topik berikut:

Dalam latihan ini, Anda menambahkan data referensi ke aplikasi yang Anda buat di latihan Memulai Kinesis Data Analytics. Data referensi memberi perusahaan nama untuk setiap simbol ticker; sebagai contoh:

Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC

Pertama, selesaikan langkah-langkah di latihan Memulai untuk membuat aplikasi starter. Kemudian ikuti langkah ini untuk menyiapkan dan menambahkan data referensi ke aplikasi Anda:

  1. Siapkan datanya

    • Simpan data referensi sebelumnya sebagai objek di Amazon Simple Storage Service (Amazon S3).

    • Buat IAM role yang dapat diambil oleh Kinesis Data Analytics untuk membaca objek Amazon S3 atas nama Anda.

  2. Tambahkan sumber data referensi ke aplikasi Anda.

    Kinesis Data Analytics membaca objek Amazon S3 dan membuat tabel referensi dalam aplikasi yang dapat Anda kueri dalam kode aplikasi Anda.

  3. Uji kodenya.

    Dalam kode aplikasi Anda, Anda menulis kueri bergabung untuk menggabungkan aliran dalam aplikasi dengan tabel referensi dalam aplikasi, untuk mendapatkan nama perusahaan untuk setiap simbol ticker.

Langkah 1: Siapkan

Di bagian ini, Anda menyimpan data referensi sampel sebagai objek di bucket Amazon S3. Anda juga membuat IAM role yang dapat diambil oleh Kinesis Data Analytics untuk membaca objek atas nama Anda.

Simpan Data Referensi sebagai Objek Amazon S3

Di langkah ini, Anda menyimpan data referensi sampel sebagai objek Amazon S3.

  1. Buka editor teks, tambahkan data berikut, dan simpan file sebagai TickerReference.csv.

    Ticker, Company AMZN,Amazon ASD, SomeCompanyA MMB, SomeCompanyB WAS, SomeCompanyC

  2. Unggah file TickerReference.csv ke bucket S3 Anda. Untuk petunjuk, lihat Mengunggah Objek ke Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Buat IAM Role

Selanjutnya, buat IAM role yang dapat diambil oleh Kinesis Data Analytics dan membaca objek Amazon S3 atas nama Anda.

  1. Di AWS Identity and Access Management (IAM), buat IAM role bernama KinesisAnalytics-ReadS3Object. Untuk membuat peran, ikuti petunjuk di Membuat Peran untuk Layanan Amazon (AWS Management Console) dalam Panduan Pengguna IAM.

    Di konsol IAM, tentukan hal berikut:

    • Untuk Select Role Type (Pilih Tipe Peran), pilih AWS Lambda. Setelah membuat peran, Anda akan mengubah kebijakan kepercayaan untuk mengizinkan Kinesis Data Analytics (bukan AWS Lambda) mengambil peran.

    • Jangan lampirkan kebijakan apa pun di halaman Lampirkan Kebijakan.

  2. Perbarui kebijakan IAM role:

    1. Di konsol IAM, pilih peran yang Anda buat.

    2. Di tab Trust Relationships (Hubungan Kepercayaan), perbarui kebijakan kepercayaan untuk memberi Kinesis Data Analytics izin mengambil peran. Kebijakan kepercayaan ditampilkan sebagai berikut:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    3. Pada tab Izin, lampirkan kebijakan yang dikelola Amazon yang disebut AmazonS3. ReadOnlyAccess Kebijakan ini peran izin untuk membaca objek Amazon S3. Kebijakan ini ditampilkan sebagai berikut:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*" } ] }

Langkah 2: Tambahkan Sumber Data Referensi ke Konfigurasi Aplikasi

Di langkah ini, Anda akan menambahkan sumber data referensi ke konfigurasi aplikasi Anda. Untuk memulai, Anda memerlukan informasi berikut:

  • Nama bucket S3 dan nama kunci objek Anda

  • Amazon Resource Name (ARN) IAM role

  1. Di halaman utama aplikasi, pilih Connect reference data (Sambungkan data referensi).

  2. Di halaman Sambungkan sumber data referensi, pilih bucket Amazon S3 yang berisi objek data referensi Anda, dan masukkan nama kunci objek.

  3. Masukkan CompanyName untuk Nama tabel referensi dalam aplikasi.

  4. Di bagian Akses ke sumber daya yang dipilih, pilih Pilih dari peran IAM yang dapat diasumsikan oleh Kinesis Analytics, dan pilih peran IAM -reads3Object yang Anda buat KinesisAnalyticsdi bagian sebelumnya.

  5. Pilih Discover schema (Temukan skema). Konsol mendeteksi dua kolom dalam data referensi.

  6. Pilih Save and close (Simpan dan pilih).

Langkah 3: Uji: Kuerikan Tabel Referensi dalam Aplikasi

Anda sekarang dapat mengkueri tabel referensi dalam aplikasi, CompanyName. Anda dapat menggunakan informasi referensi untuk memperkaya aplikasi Anda dengan menggabungkan data harga ticker dengan tabel referensi. Hasilnya menunjukkan nama perusahaan.

  1. Ganti kode aplikasi Anda dengan hal berikut. Kueri menggabungkan aliran input dalam aplikasi dengan tabel referensi dalam aplikasi. Kode aplikasi menulis hasil ke aliran dalam aplikasi lainnya, DESTINATION_SQL_STREAM.

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), "Company" varchar(20), sector VARCHAR(12), change DOUBLE, price DOUBLE); CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM ticker_symbol, "c"."Company", sector, change, price FROM "SOURCE_SQL_STREAM_001" LEFT JOIN "CompanyName" as "c" ON "SOURCE_SQL_STREAM_001".ticker_symbol = "c"."Ticker";
  2. Verifikasi bahwa output aplikasi muncul di tab SQLResults. Pastikan beberapa baris menunjukkan nama perusahaan (data referensi sampel Anda tidak memiliki semua nama perusahaan).