EMRSistem File (EMRFS) - Amazon EMR

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

EMRSistem File (EMRFS)

EMRFile System (EMRFS) adalah implementasi dari semua EMR cluster Amazon HDFS yang digunakan untuk membaca dan menulis file reguler dari Amazon EMR langsung ke Amazon S3. EMRFSmemberikan kemudahan menyimpan data persisten di Amazon S3 untuk digunakan dengan Hadoop sambil juga menyediakan fitur seperti enkripsi data.

Enkripsi data memungkinkan Anda mengenkripsi objek yang EMRFS menulis ke Amazon S3, dan EMRFS memungkinkan untuk bekerja dengan objek terenkripsi di Amazon S3. Jika Anda menggunakan versi EMR rilis Amazon 4.8.0 atau yang lebih baru, Anda dapat menggunakan konfigurasi keamanan untuk mengatur enkripsi EMRFS objek di Amazon S3, bersama dengan pengaturan enkripsi lainnya. Untuk informasi selengkapnya, lihat Opsi enkripsi. Jika Anda menggunakan versi rilis Amazon yang lebih lamaEMR, Anda dapat mengonfigurasi pengaturan enkripsi secara manual. Untuk informasi selengkapnya, lihat Menentukan enkripsi Amazon S3 menggunakan properti EMRFS.

Amazon S3 menawarkan konsistensi baca setelah tulis yang kuat untuk semua GETPUT, dan LIST operasi di semua. Wilayah AWS Ini berarti bahwa apa yang Anda tulis gunakan EMRFS adalah apa yang akan Anda baca dari Amazon S3, tanpa berdampak pada kinerja. Untuk informasi selengkapnya, lihat Model konsistensi data Amazon S3.

Saat menggunakan versi EMR rilis Amazon 5.10.0 atau yang lebih baru, Anda dapat menggunakan IAM peran berbeda untuk EMRFS permintaan ke Amazon S3 berdasarkan pengguna klaster, grup, atau lokasi EMRFS data di Amazon S3. Untuk informasi selengkapnya, lihat Mengonfigurasi IAM peran untuk EMRFS permintaan ke Amazon S3.

Awas

Sebelum mengaktifkan eksekusi spekulatif untuk EMR klaster Amazon yang menjalankan pekerjaan Apache Spark, harap tinjau informasi berikut.

EMRFStermasuk committer yang EMRFS dioptimalkan S3, OutputCommitter implementasi yang dioptimalkan untuk menulis file ke Amazon S3 saat menggunakan. EMRFS Jika Anda mengaktifkan fitur eksekusi spekulatif Apache Spark dengan aplikasi yang menulis data ke Amazon S3 dan tidak menggunakan committer yang EMRFS dioptimalkan S3, Anda mungkin mengalami masalah kebenaran data yang dijelaskan di -10063. SPARK Hal ini dapat terjadi jika Anda menggunakan EMR versi Amazon lebih awal dari Amazon EMR rilis 5.19, atau jika Anda menulis file ke Amazon S3 dengan format seperti ORC dan. CSV Format ini tidak didukung oleh committer yang EMRFS dioptimalkan S3. Untuk daftar lengkap persyaratan untuk menggunakan committer yang dioptimalkan EMRFS S3, lihat Persyaratan untuk committer yang dioptimalkan S3. EMRFS

EMRFSpenulisan langsung biasanya digunakan ketika committer yang EMRFS dioptimalkan S3 tidak didukung, seperti saat menulis yang berikut:

EMRFSpenulisan langsung tidak digunakan dalam skenario berikut:

  • Saat committer yang EMRFS dioptimalkan S3 diaktifkan. Lihat Persyaratan untuk committer yang EMRFS dioptimalkan S3.

  • Saat menulis partisi dinamis dengan partitionOverwriteMode diatur ke dinamis.

  • Saat menulis ke lokasi partisi kustom, seperti lokasi yang tidak sesuai dengan konvensi lokasi partisi default Hive.

  • Saat menggunakan sistem file selainEMRFS, seperti menulis ke HDFS atau menggunakan sistem file S3A.

Untuk menentukan apakah aplikasi Anda menggunakan penulisan langsung di Amazon EMR 5.14.0 atau yang lebih baru, aktifkan pencatatan SparkINFO. Jika baris log yang berisi teks “Direct Write:ENABLED" ada di log driver Spark atau log kontainer pelaksana Spark, maka aplikasi Spark Anda menulis menggunakan penulisan langsung.

Secara default, eksekusi spekulatif diaktifkan OFF Amazon. EMRclusters Kami sangat menyarankan Anda untuk tidak mengaktifkan eksekusi spekulatif jika kedua kondisi ini benar:

  • Anda sedang menulis data ke Amazon S3.

  • Data ditulis dalam format selain Apache Parquet atau dalam format Apache Parquet yang tidak menggunakan committer yang dioptimalkan S3. EMRFS

Jika Anda mengaktifkan eksekusi spekulatif Spark dan menulis data ke Amazon S3 menggunakan penulisan EMRFS langsung, Anda mungkin mengalami kehilangan data intermiten. Saat Anda menulis data keHDFS, atau menulis data di Parket menggunakan committer yang EMRFS dioptimalkan S3, EMR Amazon tidak menggunakan penulisan langsung dan masalah ini tidak terjadi.

Jika Anda perlu menulis data dalam format yang menggunakan penulisan EMRFS langsung dari Spark ke Amazon S3 dan menggunakan eksekusi spekulatif, kami sarankan menulis HDFS ke dan kemudian mentransfer file output ke Amazon S3 menggunakan S3DistCP.