Pertimbangan untuk menggunakan Hive di Amazon EMR 4.x - Amazon EMR

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

Pertimbangan untuk menggunakan Hive di Amazon EMR 4.x

Bagian ini mencakup perbedaan yang perlu dipertimbangkan saat menggunakan Hive versi 1.0.0 pada versi rilis Amazon EMR 4.x, dibandingkan dengan Hive 2.x pada versi rilis Amazon EMR 5.x.

Transaksi ACID tidak di-support

Hive pada versi rilis Amazon EMR 4.x tidak men-support transaksi ACID dengan data Hive yang disimpan di Amazon S3 saat menggunakan versi rilis 4.x. Jika Anda mencoba membuat tabel transaksional di Amazon S3, akan terjadi pengecualian.

Membaca dan menulis ke tabel di Amazon S3

Hive pada versi rilis Amazon EMR 4.x dapat menulis langsung ke Amazon S3 tanpa menggunakan file sementara. Ini akan meningkatkan performa, tetapi konsekuensinya adalah Anda tidak dapat membaca dan menulis ke tabel yang sama di Amazon S3 dalam pernyataan Hive yang sama. Solusinya adalah membuat dan menggunakan tabel sementara di HDFS.

Contoh berikut menunjukkan cara menggunakan beberapa pernyataan Hive untuk memperbarui tabel di Amazon S3. Pernyataan membuat tabel sementara dalam HDFS bernama tmp berdasarkan tabel di Amazon S3 bernama my_s3_table. Tabel di Amazon S3 kemudian diperbarui dengan konten tabel sementara.

CREATE TEMPORARY TABLE tmp LIKE my_s3_table; INSERT OVERWRITE TABLE tmp SELECT ....; INSERT OVERWRITE TABLE my_s3_table SELECT * FROM tmp;

Log4j vs. Log4j 2

Hive pada versi rilis Amazon EMR 4.x menggunakan Log4j. Dimulai dengan versi 5.0.0, Log4j 2 dijadikan default. Versi ini mungkin memerlukan konfigurasi logging yang berbeda. Lihat Apache Log4j 2 untuk detailnya.

MapReduce adalah mesin eksekusi default

Hive di Amazon EMR 4.x versi rilis MapReduce digunakan sebagai mesin eksekusi default. Dimulai dengan Amazon EMR versi 5.0.0, default-nya adalah Tez, yang memberikan peningkatan performa untuk sebagian besar alur kerja.

Otorisasi Hive

Hive pada versi rilis Amazon EMR 4.x mendukung Otorisasi Hive untuk HDFS tetapi tidak untuk EMRFS dan Amazon S3. Kluster Amazon EMR berjalan dengan otorisasi yang dinonaktifkan secara default.

Perilaku penggabungan file Hive dengan Amazon S3

Hive di versi rilis Amazon EMR 4.x menggabungkan file kecil di akhir tugas peta-saja jika hive.merge.mapfiles adalah true. Penggabungan dipicu hanya jika ukuran keluaran rata-rata tugas kurang dari pengaturan hive.merge.smallfiles.avgsize. Amazon EMR Hive memiliki perilaku yang persis sama jika path keluaran akhir ada dalam HDFS. Namun, jika path keluaran berada di Amazon S3, parameter hive.merge.smallfiles.avgsize akan diabaikan. Dalam situasi itu, tugas gabungan selalu dipicu jika hive.merge.mapfiles diatur ke true.