

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

# Buat notebook Studio dengan Kinesis Data Streams
<a name="example-notebook-streams"></a>

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

**Topics**
+ [Lengkapi prasyarat](#example-notebook-streams-setup)
+ [Buat AWS Glue tabel](#example-notebook-streams-glue)
+ [Buat notebook Studio dengan Kinesis Data Streams](#example-notebook-streams-create)
+ [Kirim data ke Kinesis data stream Anda](#example-notebook-streams-send)
+ [Uji notebook Studio Anda](#example-notebook-streams-test)

## Lengkapi prasyarat
<a name="example-notebook-streams-setup"></a>

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](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) 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
<a name="example-notebook-streams-glue"></a>

Notebook Studio Anda menggunakan basis data [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) 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 Konsol Manajemen AWS dan buka AWS Glue konsol di [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. 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).

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

1. 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**.

1. 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**.

1. Di halaman **Klasifikasi**, pilih **JSON**. Pilih **Berikutnya**.

1. Di halaman **Tentukan skema**, pilih Add Column (Tambahkan kolom) untuk menambahkan kolom. Tambahkan kolom dengan properti berikut:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/managed-flink/latest/java/example-notebook-streams.html)

   Pilih **Berikutnya**.

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

1. Pilih tabel yang baru dibuat dari daftar tabel.

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

1. Pilih **Apply** (Terapkan).

## Buat notebook Studio dengan Kinesis Data Streams
<a name="example-notebook-streams-create"></a>

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

**Topics**
+ [Buat notebook Studio menggunakan Konsol Manajemen AWS](#example-notebook-create-streams-console)
+ [Buat notebook Studio menggunakan AWS CLI](#example-notebook-msk-create-api)

### Buat notebook Studio menggunakan Konsol Manajemen AWS
<a name="example-notebook-create-streams-console"></a>

1. [Buka Layanan Terkelola untuk konsol Apache Flink di https://console.aws.amazon.com/managed-flink/ rumah? region=us-east-1\$1/aplikasi/dasbor](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard). 

1. 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).

1. 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).

1. Di **MyNotebook**halaman, pilih **Jalankan**. Tunggu **Status** hingga menampilkan **Running** (Berjalan). Biaya berlaku saat notebook berjalan.

### Buat notebook Studio menggunakan AWS CLI
<a name="example-notebook-msk-create-api"></a>

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

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

1. 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"`

1. 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"
                   }
               }
           }
       }
   }
   ```

1. Jalankan perintah berikut untuk membuat aplikasi Anda.

   ```
   aws kinesisanalyticsv2 create-application --cli-input-json file://create.json 
   ```

1. 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",
   ...
   ```

1. 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
<a name="example-notebook-streams-send"></a>

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

1. Buka [ Kinesis Data Generator](https://awslabs.github.io/amazon-kinesis-data-generator/web/help.html). 

1. Pilih **Buat Pengguna Cognito** dengan. CloudFormation

1.  CloudFormation Konsol terbuka dengan template Kinesis Data Generator. Pilih **Berikutnya**.

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

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

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

1. Tunggu CloudFormation tumpukan selesai dibuat. **Setelah tumpukan selesai, buka tumpukan **Kinesis-Data-Generator-Cognito-User** di konsol, dan pilih tab Output. CloudFormation ** Buka URL yang terdaftar untuk nilai **KinesisDataGeneratorUrl**output.

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

1. Di halaman berikutnya, berikan nilai berikut:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/managed-flink/latest/java/example-notebook-streams.html)

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

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

1. Pilih **Send data** (Kirim data).

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

   Biarkan generator berjalan sewaktu Anda menyelesaikan bagian berikutnya.

## Uji notebook Studio Anda
<a name="example-notebook-streams-test"></a>

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/ rumah? region=us-east-1\$1/aplikasi/dasbor](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard).

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

1. Di **MyNotebook**halaman, pilih **Buka di Apache Zeppelin**.

   Antarmuka Apache Zeppelin terbuka di tab baru.

1. Di halaman **Selamat Datang di Zeppelin\$1**, pilih **Zeppelin Note** (Catatan Zeppelin).

1. 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](https://docs.aws.amazon.com/managed-flink/latest/java/how-dashboard.html) di [Managed Service for Apache](https://docs.aws.amazon.com/) Flink Developer Guide.

Untuk contoh kueri SQL Flink Streaming selengkapnya, lihat [Kueri](https://nightlies.apache.org/flink/flink-docs-release-1.15/dev/table/sql/queries.html) di [Dokumentasi Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/).