

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

# Kinesis
<a name="emr-kinesis"></a>

Cluster EMR Amazon dapat membaca dan memproses aliran Amazon Kinesis secara langsung, menggunakan alat yang sudah dikenal di ekosistem Hadoop seperti Hive, Pig,, Hadoop Streaming API, dan Cascading. MapReduce Anda juga dapat menggabungkan dengan data waktu nyata dari Amazon Kinesis dengan data yang ada di Amazon S3, Amazon DynamoDB, dan HDFS dalam sebuah klaster yang berjalan. Anda dapat langsung memuat data dari Amazon EMR ke Amazon S3 atau DynamoDB untuk kegiatan setelah pemrosesan. Untuk informasi tentang sorotan dan harga layanan Amazon Kinesis, lihat halaman [Amazon Kinesis](https://aws.amazon.com//kinesis).

## Apa yang dapat saya lakukan dengan integrasi Amazon EMR dan Amazon Kinesis?
<a name="kinesis-use-cases"></a>

 Integrasi antara Amazon EMR dan Amazon Kinesis akan membuat skenario tertentu menjadi jauh lebih mudah; misalnya: 
+ **Analisis log streaming**–Anda dapat menganalisis log web streaming untuk membuat daftar 10 tipe kesalahan teratas setiap beberapa menit menurut wilayah, peramban, dan domain akses. 
+ **Keterlibatan pelanggan**–Anda dapat menulis kueri yang menggabungkan dengan data aliran klik dari Amazon Kinesis dengan informasi kampanye iklan yang disimpan dalam tabel DynamoDB untuk mengidentifikasi kategori iklan paling efektif yang ditampilkan di situs web tertentu. 
+ **Kueri interaktif Ad-hoc**–Anda dapat memuat data secara berkala dari pengaliran Amazon Kinesis ke HDFS dan menyediakannya sebagai tabel Impala lokal untuk kueri cepat, interaktif, dan analitik.

## Analisis pengaliran Amazon Kinesis yang telah melalui checkpointing
<a name="kinesis-checkpoint"></a>

Pengguna dapat menjalankan analisis berkala yang dikelompokkan dalam batch atas pengaliran Amazon Kinesis dalam apa yang disebut *iterasi*. Karena catatan data pengaliran Amazon Kinesis diambil dengan menggunakan nomor urut, maka batas iterasi ditentukan dengan memulai dan mengakhiri nomor urut yang disimpan oleh Amazon EMR dalam tabel DynamoDB. Misalnya, saat `iteration0` berakhir, ia menyimpan nomor urut akhir di DynamoDB sehingga ketika tugas `iteration1` dimulai, ia dapat mengambil data berikutnya dari pengaliran. Pemetaan iterasi dalam data pengaliran ini disebut *checkpointing*. Untuk informasi selengkapnya, lihat [Konektor Kinesis](https://aws.amazon.com/elasticmapreduce/faqs/#kinesis-connector).

Jika iterasi diperiksa dan pekerjaan gagal memproses iterasi, Amazon EMR mencoba memproses ulang catatan dalam iterasi tersebut. 

Checkpointing adalah sebuah fitur yang memungkinkan Anda untuk: 
+ Mulai pengolahan data setelah nomor urut diproses oleh kueri sebelumnya yang berjalan pada pengaliran dan nama logis yang sama
+ Memproses ulang batch data yang sama dari Kinesis yang diproses oleh kueri sebelumnya

 Untuk mengaktifkan checkpointing, atur parameter `kinesis.checkpoint.enabled` untuk `true` dalam skrip Anda. Juga, konfigurasikan parameter-parameter berikut:


| Pengaturan konfigurasi | Deskripsi | 
| --- | --- | 
| kinesis.checkpoint.metastore.table.name | Nama tabel DynamoDB di mana informasi pos pemeriksaan akan disimpan | 
| kinesis.checkpoint.metastore.hash.key.name | Nama kunci hash untuk tabel DynamoDB | 
| kinesis.checkpoint.metastore.hash.range.name | Nama kunci range untuk tabel DynamoDB | 
| kinesis.checkpoint.logical.name | Sebuah nama logis untuk pemrosesan saat ini | 
| kinesis.checkpoint.iteration.no | Nomor iterasi untuk pemrosesan terkait dengan nama logis | 
| kinesis.rerun.iteration.without.wait | Nilai Boolean yang menunjukkan jika iterasi gagal dapat dijalankan ulang tanpa perlu menunggu waktu habis; default-nya adalah false | 

### Rekomendasi Provisioned IOPS untuk tabel Amazon DynamoDB
<a name="kinesis-checkpoint-DDB"></a>

Konektor Amazon EMR untuk Amazon Kinesis menggunakan basis data DynamoDB sebagai dukungan untuk melakukan checkpointing metadata. Anda harus membuat tabel di DynamoDB sebelum menggunakan data dalam pengaliran Amazon Kinesis dengan klaster Amazon EMR dalam interval yang melalui checkpointing. Tabel harus berada dalam wilayah yang sama dengan klaster Amazon EMR. Berikut ini adalah rekomendasi umum untuk jumlah IOPS yang harus Anda sediakan untuk tabel DynamoDB Anda; biarkan `j` menjadi jumlah maksimum tugas Hadoop (dengan nama logis yang berbeda\+kombinasi nomor iterasi) yang dapat berjalan bersamaan dan `s` menjadi jumlah maksimum serpihan yang akan diproses setiap tugas:

Untuk **Unit Kapasitas Baca**: `j`\*`s`/`5`

Untuk **Unit Kapasitas Tulis**: `j`\*`s`

## Pertimbangan performa
<a name="performance"></a>

Throughput serpihan Amazon Kinesis berbanding lurus dengan ukuran instans simpul di klaster Amazon EMR dan ukuran catatan di pengaliran. Kami menyarankan Anda menggunakan instans m5.xlarge atau yang lebih besar pada simpul utama dan simpul inti.

## Jadwalkan analisis Amazon Kinesis dengan Amazon EMR
<a name="schedule"></a>

Ketika Anda menganalisis data pada pengaliran Amazon Kinesis aktif, yang dibatasi oleh waktu habis dan durasi maksimum untuk setiap iterasi, penting bahwa Anda sering menjalankan analisis untuk mengumpulkan detail periodik dari pengaliran. Ada beberapa cara untuk mengeksekusi skrip dan kueri tersebut secara berkala; sebaiknya gunakan AWS Data Pipeline untuk tugas berulang seperti ini. Untuk informasi selengkapnya, lihat [AWS Data Pipeline PigActivity](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-pigactivity.html)dan [AWS Data Pipeline HiveActivity](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-hiveactivity.html)di *Panduan AWS Data Pipeline Pengembang*.