Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyesuaikan pemeta
Ketika Hive meluncurkan tugas Hadoop, tugas tersebut diproses oleh satu atau beberapa tugas pemeta. Dengan asumsi bahwa tabel DynamoDB Anda memiliki kapasitas throughput yang memadai, Anda dapat mengubah jumlah pembuat peta di klaster, sehingga berpotensi meningkatkan performa.
catatan
Jumlah tugas pemeta yang digunakan dalam tugas Hadoop dipengaruhi oleh pembagian input, yaitu Hadoop membagi data menjadi beberapa blok logis. Jika Hadoop tidak melakukan pemisahan input yang cukup, maka operasi tulis Anda mungkin tidak dapat menggunakan semua throughput tulis yang tersedia di tabel DynamoDB.
Meningkatkan jumlah pemeta
Setiap pemeta dalam Amazon EMR memiliki tingkat baca maksimum 1 MiB per detik. Jumlah pemeta di klaster tergantung pada ukuran simpul di klaster Anda. (Untuk informasi tentang ukuran simpul dan jumlah pemeta per simpul, lihat Konfigurasi Tugas di Panduan Developer Amazon EMR.)
Jika tabel DynamoDB Anda memiliki kapasitas throughput yang memadai untuk baca, Anda dapat mencoba meningkatkan jumlah pemeta dengan melakukan salah satu dari berikut ini:
-
Tingkatkan ukuran simpul dalam klaster. Sebagai contoh, jika klaster Anda menggunakan simpul m1.large (tiga pemeta per simpul), Anda dapat mencoba meningkatkan ke simpul m1.xlarge (delapan pemeta per simpul).
-
Tingkatkan jumlah simpul dalam klaster. Misalnya, jika Anda memiliki klaster tiga simpul untuk simpul m1.xlarge, Anda memiliki total 24 pemeta yang tersedia. Jika Anda menggandakan ukuran klaster, dengan jenis simpul yang sama, Anda akan memiliki 48 pemeta.
Anda dapat menggunakan AWS Management Console untuk mengelola ukuran atau jumlah node di cluster Anda. (Anda mungkin perlu memulai ulang klaster untuk menerapkan perubahan ini.)
Cara lain untuk meningkatkan jumlah pemeta adalah dengan mengubah konfigurasi parameter Hadoop mapred.tasktracker.map.tasks.maximum
. (Ini adalah parameter Hadoop, bukan parameter Hive. Anda tidak dapat mengubahnya secara interaktif dari prompt perintah). Jika meningkatkan nilai mapred.tasktracker.map.tasks.maximum
, Anda dapat meningkatkan jumlah pemeta tanpa meningkatkan ukuran atau jumlah simpul. Namun, simpul klaster kemungkinan bisa kehabisan memori jika Anda menetapkan nilai terlalu tinggi.
Anda menetapkan nilai untuk mapred.tasktracker.map.tasks.maximum
sebagai tindakan bootstrap ketika Anda pertama kali meluncurkan klaster Amazon EMR. Untuk informasi selengkapnya, lihat (Opsional) Membuat Tindakan Bootstrap untuk Menginstal Perangkat Lunak Tambahan di Panduan Pengelolaan Amazon EMR.
Menurunkan jumlah pemeta
Jika Anda menggunakan pernyataan SELECT
untuk memilih data dari tabel Hive eksternal yang dipetakan ke DynamoDB, tugas Hadoop dapat menggunakan tugas sebanyak yang diperlukan, hingga jumlah maksimum pemeta di klaster. Dalam skenario ini, ada kemungkinan bahwa kueri Hive yang berjalan lama dapat menggunakan semua kapasitas baca tabel DynamoDB yang disediakan, sehingga berdampak negatif pada pengguna lain.
Anda dapat menggunakan parameter dynamodb.max.map.tasks
untuk menetapkan batas atas tugas peta:
SET dynamodb.max.map.tasks=1
Nilai ini harus lebih besar atau sama dengan 1. Saat Hive memproses kueri Anda, tugas Hadoop yang dihasilkan tidak akan menggunakan lebih dari dynamodb.max.map.tasks
saat membaca dari tabel DynamoDB.