Ekspor, impor, kueri, dan gabungkan tabel di DynamoDB menggunakan Amazon EMR - Amazon EMR

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

Ekspor, impor, kueri, dan gabungkan tabel di DynamoDB menggunakan Amazon EMR

catatan

Amazon EMR-DynamoDB Connector disediakan secara sumber terbuka GitHub. Untuk informasi selengkapnya, lihat https://github.com/awslabs/emr-dynamodb-connector.

DynamoDB adalah layanan basis data NoSQL terkelola penuh yang memberikan performa yang cepat dan dapat diprediksi dengan skalabilitas sempurna. Pengembang dapat membuat tabel basis data dan menumbuhkan lalu lintas permintaan atau penyimpanan tanpa batas. DynamoDB secara otomatis menyebar data dan lalu lintas untuk tabel ke seluruh server dengan jumlah yang cukup untuk menangani kapasitas permintaan yang ditentukan oleh pelanggan dan jumlah data yang disimpan, sambil mempertahankan performa yang konsisten dan cepat. Dengan menggunakan Amazon EMR dan Hive, Anda dapat dengan cepat dan efisien memproses data dalam jumlah besar, misalnya data yang disimpan dalam DynamoDB. Untuk informasi selengkapnya tentang DynamoDB, lihat Panduan Developer Amazon DynamoDB.

Apache Hive adalah lapisan perangkat lunak yang dapat Anda gunakan untuk melakukan kueri klaster peredam peta dengan menggunakan bahasa kueri sederhana mirip SQL yang disebut dengan HiveQL. Perangkat ini berjalan di atas arsitektur Hadoop. Untuk informasi selengkapnya tentang Hive dan HiveQL, kunjungi Manual bahasa HiveQL. Untuk informasi selengkapnya tentang Hive dan Amazon EMR, lihat Apache Hive.

Anda dapat menggunakan Amazon EMR dengan Hive versi disesuaikan yang mencakup konektivitas ke DynamoDB untuk melakukan operasi pada data yang disimpan dalam DynamoDB:

  • Memuat data DynamoDB ke dalam Hadoop Distributed File System (HDFS) dan menggunakannya sebagai masukan ke dalam klaster Amazon EMR.

  • Membuat kueri data DynamoDB langsung menggunakan pernyataan yang mirip SQL (HiveQL).

  • Menggabungkan data yang disimpan dalam DynamoDB dan mengekspor atau membuat kueri terhadap data yang digabungkan.

  • Mengekspor data yang tersimpan dalam DynamoDB ke Amazon S3.

  • Mengimpor data yang tersimpan di Amazon S3 ke DynamoDB.

catatan

Amazon EMR-DynamoDB Connector tidak mendukung klaster yang dikonfigurasi untuk menggunakan Autentikasi Kerberos.

Untuk melakukan masing-masing tugas berikut, Anda akan meluncurkan klaster Amazon EMR, menentukan lokasi data di DynamoDB, dan mengeluarkan perintah Hive untuk memanipulasi data di DynamoDB.

Ada beberapa cara untuk meluncurkan klaster Amazon EMR: Anda dapat menggunakan konsol Amazon EMR, antarmuka baris perintah (CLI), atau Anda dapat memprogram klaster Anda menggunakan AWS SDK atau Amazon EMR API. Anda juga dapat memilih apakah akan menjalankan klaster Hive secara interaktif atau dari skrip. Pada bagian ini, kami akan menunjukkan cara untuk meluncurkan klaster Hive interaktif dari konsol Amazon EMR dan CLI.

Menggunakan Hive interaktif adalah cara yang bagus untuk menguji performa kueri dan menyetel aplikasi Anda. Setelah Anda telah membentuk satu set perintah Hive yang akan berjalan secara teratur, pertimbangkan untuk membuat skrip Hive yang dapat dijalankan Amazon EMR untuk Anda.

Awas

Operasi tulis atau baca Amazon EMR pada tabel DynamoDB merugikan throughput yang disediakan yang Anda tetapkan dan berpotensi meningkatkan frekuensi pengecualian throughput yang disediakan. Untuk permintaan besar, Amazon EMR mengimplementasikan percobaan ulang dengan mundur eksponensial untuk mengelola beban permintaan pada tabel DynamoDB. Menjalankan tugas Amazon EMR secara bersamaan dengan lalu lintas lainnya dapat menyebabkan Anda melebihi tingkat throughput yang disediakan dan dialokasikan. Anda dapat memantau ini dengan memeriksa ThrottleRequestsmetrik di Amazon CloudWatch. Jika permintaan beban terlalu tinggi, Anda dapat meluncurkan kembali klaster dan mengatur Pengaturan persen baca atau Pengaturan persentase tulis ke nilai yang lebih rendah untuk melakukan throttling operasi Amazon EMR. Untuk informasi tentang pengaturan throughput DynamoDB, lihat Throughput yang ditetapkan.

Jika sebuah tabel dikonfigurasi untuk Mode Sesuai Permintaan, Anda harus mengubah tabel kembali ke mode yang ditetapkan sebelum menjalankan operasi ekspor atau impor. Alur membutuhkan rasio throughput untuk menghitung sumber daya untuk menggunakan dari DynamoDbTable. Mode sesuai permintaan menghapus throughput yang ditetapkan. Untuk menyediakan kapasitas throughput, Anda dapat menggunakan metrik Amazon CloudWatch Events untuk mengevaluasi throughput agregat yang telah digunakan tabel.