Membuat notebook Studio dengan Kinesis Data Streams - Layanan Terkelola untuk Apache Flink

Amazon Managed Service untuk Apache Flink sebelumnya dikenal sebagai Amazon Kinesis Data Analytics untuk Apache Flink.

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

Membuat notebook Studio dengan Kinesis Data Streams

Tutorial ini menjelaskan cara membuat notebook Studio yang menggunakan Kinesis data stream sebagai sumber.

Pengaturan

Sebelum Anda membuat notebook Studio, buat Kinesis data stream (ExampleInputStream). Aplikasi Anda menggunakan aliran ini untuk sumber aplikasi.

Anda dapat membuat aliran ini menggunakan konsol Amazon Kinesis atau perintah AWS CLI . Untuk instruksi konsol, lihat Membuat dan Memperbarui Aliran Data di Panduan Developer Amazon Kinesis Data Streams. Beri nama aliran ExampleInputStream dan atur Number of open shards (Jumlah serpihan terbuka) ke 1.

Untuk membuat stream (ExampleInputStream) menggunakan AWS CLI, gunakan perintah Amazon Kinesis create-stream AWS CLI berikut.

$ aws kinesis create-stream \ --stream-name ExampleInputStream \ --shard-count 1 \ --region us-east-1 \ --profile adminuser

Buat AWS Glue tabel

Notebook Studio Anda menggunakan basis data AWS Glue untuk metadata tentang sumber data Kinesis Data Streams Anda.

catatan

Anda dapat membuat database secara manual terlebih dahulu atau Anda dapat membiarkan Managed Service for Apache Flink membuatnya untuk Anda saat Anda membuat buku catatan. Demikian pula, Anda dapat membuat tabel secara manual seperti yang dijelaskan di bagian ini, atau Anda dapat menggunakan kode konektor buat tabel untuk Layanan Terkelola untuk Apache Flink di buku catatan Anda dalam Apache Zeppelin untuk membuat tabel Anda melalui pernyataan DDL. Anda kemudian dapat check-in AWS Glue untuk memastikan tabel dibuat dengan benar.

Buat Tabel
  1. Masuk ke AWS Management Console dan buka AWS Glue konsol di https://console.aws.amazon.com/glue/.

  2. Jika Anda belum memiliki AWS Glue database, pilih Database dari bilah navigasi kiri. Pilih Add database (Tambahkan basis data). Di jendela Add database (Tambahkan basis data), masukkan default untuk Database name (Nama basis data). Pilih Create (Buat).

  3. Di bilah navigasi sebelah kiri, pilih Tables (Tabel). Di halaman Tabel, pilih Add tables (Tambahkan tabel), Add table manually (Tambahkan tabel secara manual).

  4. Di halaman Set up your table's properties (Siapkan properti tabel Anda), masukkan stock untuk Table name (Nama tabel). Pastikan Anda memilih basis data yang Anda buat sebelumnya. Pilih Berikutnya.

  5. Di halaman Tambahkan penyimpanan data, pilih Kinesis. Untuk Stream name (Nama aliran), masukkan ExampleInputStream. untuk Kinesis source URL (URL sumber Kinesis), pilih masukkan https://kinesis.us-east-1.amazonaws.com. Jika Anda menyalin dan menempel URL sumber Kinesis, pastikan untuk menghapus spasi awal atau akhir. Pilih Berikutnya.

  6. Di halaman Klasifikasi, pilih JSON. Pilih Berikutnya.

  7. Di halaman Tentukan skema, pilih Add Column (Tambahkan kolom) untuk menambahkan kolom. Tambahkan kolom dengan properti berikut:

    Nama kolom Jenis data
    ticker string
    price double

    Pilih Berikutnya.

  8. Di halaman berikutnya, verifikasi pengaturan Anda, dan pilih Finish (Selesai).

  9. Pilih tabel yang baru dibuat dari daftar tabel.

  10. Pilih Edit table (Edit tabel) dan tambahkan properti dengan kunci managed-flink.proctime dan nilai proctime.

  11. Pilih Apply (Terapkan).

Buat notebook Studio dengan Kinesis Data Streams

Sekarang Anda sudah membuat sumber daya yang digunakan aplikasi Anda, Anda membuat notebook Studio Anda.

Untuk membuat aplikasi Anda, Anda dapat menggunakan salah satu AWS Management Console atau AWS CLI.

Buat notebook Studio menggunakan AWS Management Console

  1. Buka Layanan Terkelola untuk konsol Apache Flink di https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard.

  2. Di halaman Managed Service for Apache Flink Apache Applications, pilih tab Studio. Pilih Create Studio notebook (Buat notebook Studio).

    catatan

    Anda juga dapat membuat notebook Studio dari konsol Amazon MSK atau Kinesis Data Streams dengan memilih klaster Amazon MSK input atau Kinesis data stream, dan memilih Process data in real time (Proses data secara langsung).

  3. Di halaman Buat notebook Studio, berikan informasi berikut:

    • Masukkan MyNotebook untuk nama notebook.

    • Pilih default untuk Basis data AWS Glue.

    Pilih Create Studio notebook (Buat notebook Studio).

  4. Di MyNotebookhalaman, pilih Jalankan. Tunggu Status hingga menampilkan Running (Berjalan). Biaya berlaku saat notebook berjalan.

Buat notebook Studio menggunakan AWS CLI

Untuk membuat notebook Studio menggunakan AWS CLI, lakukan hal berikut:

  1. Verifikasi ID akun Anda. Anda memerlukan nilai ini untuk membuat aplikasi Anda.

  2. Buat peran arn:aws:iam::AccountID:role/ZeppelinRole dan tambahkan izin berikut ke peran yang dibuat secara otomatis oleh konsol.

    "kinesis:GetShardIterator",

    "kinesis:GetRecords",

    "kinesis:ListShards"

  3. Buat file bernama create.json dengan konten berikut. Ganti nilai placeholder dengan informasi Anda.

    { "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::AccountID:role/ZeppelinRole", "ApplicationConfiguration": { "ApplicationSnapshotConfiguration": { "SnapshotsEnabled": false }, "ZeppelinApplicationConfiguration": { "CatalogConfiguration": { "GlueDataCatalogConfiguration": { "DatabaseARN": "arn:aws:glue:us-east-1:AccountID:database/default" } } } } }
  4. Jalankan perintah berikut untuk membuat aplikasi Anda.

    aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
  5. Setelah perintah selesai, Anda melihat output yang menampilkan detail untuk notebook Studio baru Anda. Berikut adalah contoh output.

    { "ApplicationDetail": { "ApplicationARN": "arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook", "ApplicationName": "MyNotebook", "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0", "ApplicationMode": "INTERACTIVE", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole", ...
  6. Jalankan perintah berikut untuk memulai aplikasi Anda. Ganti nilai sampel dengan ID akun Anda.

    aws kinesisanalyticsv2 start-application --application-arn arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook\

Kirim data ke Kinesis data stream Anda

Untuk mengirim data uji ke Kinesis data stream, lakukan hal berikut:

  1. Buka Kinesis Data Generator.

  2. Pilih Buat Pengguna Cognito dengan. CloudFormation

  3. AWS CloudFormation Konsol terbuka dengan template Kinesis Data Generator. Pilih Berikutnya.

  4. Di halaman Tentukan detail tumpukan, masukkan nama pengguna dan kata sandi pengguna Cognito Anda. Pilih Berikutnya.

  5. Di halaman Konfigurasikan opsi tumpukan, pilih Next (Berikutnya).

  6. Di halaman Review Kinesis-Data-Generator-Cognito-User, pilih yang saya akui yang mungkin membuat sumber daya IAM. AWS CloudFormation kotak centang. Pilih Buat tumpukan.

  7. Tunggu AWS CloudFormation tumpukan selesai dibuat. Setelah tumpukan selesai, buka tumpukan Kinesis-Data-Generator-Cognito-User di konsol, dan pilih tab Output. AWS CloudFormation Buka URL yang terdaftar untuk nilai KinesisDataGeneratorUrloutput.

  8. Di halaman Amazon Kinesis Data Generator, masuk dengan kredensial yang Anda buat di langkah 4.

  9. Di halaman berikutnya, berikan nilai berikut:

    Wilayah us-east-1
    Aliran/Aliran Firehose ExampleInputStream
    Catatan per detik 1

    Untuk Record Template (Templat Catatan), tempel kode berikut:

    { "ticker": "{{random.arrayElement( ["AMZN","MSFT","GOOG"] )}}", "price": {{random.number( { "min":10, "max":150 } )}} }
  10. Pilih Send data (Kirim data).

  11. Generator akan mengirimkan data ke Kinesis data stream Anda.

    Biarkan generator berjalan sewaktu Anda menyelesaikan bagian berikutnya.

Uji notebook Studio Anda

Di bagian ini, Anda menggunakan notebook Studio untuk mengkueri data dari Kinesis data stream Anda.

  1. Buka Layanan Terkelola untuk konsol Apache Flink di https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard.

  2. Pada halaman Managed Service for Apache Flink Apache Applications, pilih tab notebook Studio. Pilih MyNotebook.

  3. Di MyNotebookhalaman, pilih Buka di Apache Zeppelin.

    Antarmuka Apache Zeppelin terbuka di tab baru.

  4. Di halaman Selamat Datang di Zeppelin!, pilih Zeppelin Note (Catatan Zeppelin).

  5. Di halaman Zeppelin Note (Catatan Zeppelin), masukkan kueri berikut ke dalam catatan baru:

    %flink.ssql(type=update) select * from stock

    Pilih ikon jalankan.

    Setelah beberapa saat, catatan menampilkan data dari Kinesis data stream.

Untuk membuka Dasbor Apache Flink untuk aplikasi Anda agar dapat melihat aspek operasional, pilih FLINK JOB (TUGAS FLINK). Untuk informasi selengkapnya tentang Dasbor Flink, lihat Dasbor Apache Flink di Managed Service for Apache Flink Developer Guide.

Untuk contoh kueri SQL Flink Streaming selengkapnya, lihat Kueri di Dokumentasi Apache Flink.