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
MapReduce dijadikan mesin eksekusi default
Hive pada versi rilis Amazon EMR 4.x menggunakan MapReduce 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
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
.