Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan AWS Katalog Data Lem dengan Spark di Amazon EMR
Menggunakan Amazon EMR release 5.8.0 atau yang lebih baru, Anda dapat mengonfigurasi Spark untuk menggunakan Katalog Data AWS Glue sebagai metastore Apache Hive. Kami merekomendasikan konfigurasi ini ketika Anda memerlukan metastor Hive persisten atau metastore Hive yang dibagikan oleh cluster, layanan, aplikasi, atau AWS akun yang berbeda.
Menggunakan Amazon EMR rilis 6.5.0 atau yang lebih baru, Anda dapat mengonfigurasi Spark untuk menggunakan Katalog Data AWS Glue dengan Apache Iceberg.
Menggunakan Amazon EMR rilis 7.5.0 atau yang lebih baru, Anda dapat mengonfigurasi Spark untuk menggunakan Katalog Data AWS Glue sebagai katalog REST Iceberg.
AWS Glue adalah layanan ekstrak, transformasi, dan muat (ETL) yang dikelola sepenuhnya yang membuatnya sederhana dan hemat biaya untuk mengkategorikan data Anda, membersihkannya, memperkaya, dan memindahkannya dengan andal di antara berbagai penyimpanan data. Katalog Data AWS Glue menyediakan repositori metadata terpadu di berbagai sumber data dan format data, terintegrasi dengan Amazon EMR serta Amazon RDS, Amazon Redshift, Redshift Spectrum, Athena, dan aplikasi apa pun yang kompatibel dengan metastore Apache Hive. AWS Perayap Glue dapat secara otomatis menyimpulkan skema dari data sumber di Amazon S3 dan menyimpan metadata terkait di Katalog Data. Untuk informasi selengkapnya tentang Katalog Data, lihat Mengisi Katalog Data AWS Lem di Panduan Pengembang AWS Glue.
Biaya terpisah berlaku untuk AWS Lem. Ada tarif bulanan untuk menyimpan dan mengakses metadata di Katalog Data, tarif per jam yang ditagih per menit untuk pekerjaan AWS Glue ETL dan runtime crawler, dan tarif per jam yang ditagih per menit untuk setiap titik akhir pengembangan yang disediakan. Katalog Data memungkinkan Anda untuk menyimpan hingga satu juta objek tanpa biaya. Jika Anda menyimpan lebih dari satu juta objek, Anda dikenakan biaya USD$1 untuk setiap 100.000 objek lebih dari satu juta. Sebuah objek dalam Katalog Data adalah tabel, partisi, atau database. Untuk informasi lebih lanjut, lihat Harga Glue
penting
Jika Anda membuat tabel menggunakan Amazon Athena atau Amazon Redshift Spectrum sebelum 14 Agustus 2017, database dan tabel disimpan dalam Athena-managed katalog, yang terpisah dari Katalog Data AWS Glue. Untuk mengintegrasikan Amazon EMR dengan tabel ini, Anda harus meningkatkan ke Katalog Data AWS Glue. Untuk informasi selengkapnya, lihat Meng upgrade ke Katalog Data AWS Glu e di Panduan Pengguna Amazon Athena.
Menentukan AWS Katalog Data Glue sebagai metastore Apache Hive
Anda dapat menentukan Katalog Data AWS Glue sebagai metastore menggunakan Konsol Manajemen AWS, AWS CLI, atau Amazon EMR API. Bila Anda menggunakan CLI atau API, Anda menggunakan klasifikasi konfigurasi untuk Spark untuk menentukan Katalog Data. Selain itu, dengan Amazon EMR 5.16.0 dan yang lebih baru, Anda dapat menggunakan klasifikasi konfigurasi untuk menentukan Katalog Data dalam yang berbeda. Akun AWS Bila menggunakan konsol, Anda dapat menentukan Katalog Data menggunakan Opsi lanjutan atau Opsi cepat.
catatan
Opsi untuk menggunakan Katalog Data AWS Glue juga tersedia dengan Zeppelin karena Zeppelin diinstal dengan komponen Spark.
Menentukan AWS Katalog Data Glue sebagai katalog Apache Iceberg
Anda dapat menentukan Katalog Data AWS Glue sebagai implementasi katalog Apache Iceberg, atau titik akhir katalog REST Apache Iceberg, menggunakan Konsol Manajemen AWS AWS CLI, atau Amazon EMR API, atau pada konfigurasi runtime sesi Spark. Bila Anda menggunakan CLI atau API, Anda menggunakan klasifikasi konfigurasi untuk Spark untuk menentukan Katalog Data. Untuk detail selengkapnya, lihat Menentukan AWS Katalog Data Lem sebagai katalog Apache Iceberg.
Izin IAM
Profil instans EC2 untuk cluster harus memiliki izin IAM untuk tindakan AWS Glue. Selain itu, jika Anda mengaktifkan enkripsi untuk objek Katalog Data AWS Glue, peran juga harus diizinkan untuk mengenkripsi, mendekripsi, dan menghasilkan yang AWS KMS key digunakan untuk enkripsi.
Izin untuk AWS Tindakan lem
Jika Anda menggunakan profil instans EC2 default untuk Amazon EMR, tidak ada tindakan yang diperlukan. Kebijakan AmazonElasticMapReduceforEC2Role terkelola yang dilampirkan pada EMR_EC2_DefaultRole memungkinkan semua tindakan AWS Glue yang diperlukan. Namun, jika Anda menentukan profil instans EC2 kustom dan izin, Anda harus mengonfigurasi tindakan AWS Glue yang sesuai. Gunakan AmazonElasticMapReduceforEC2Role Kebijakan yang dikelola sebagai titik awal. Untuk informasi selengkapnya, lihat Peran layanan untuk instans EC2 cluster (profil instans EC2) di Panduan Manajemen Amazon EMR.
Izin untuk mengenkripsi dan mendekripsi AWS Katalog Data Lem
Profil instans Anda memerlukan izin untuk mengenkripsi dan mendekripsi data menggunakan kunci Anda. Anda tidak perlu mengkonfigurasi izin ini jika kedua pernyataan berikut berlaku:
-
Anda mengaktifkan enkripsi untuk objek Katalog Data AWS Glue menggunakan kunci terkelola untuk AWS Glue.
-
Anda menggunakan cluster yang Akun AWS sama dengan Katalog Data AWS Glue.
Jika tidak, Anda harus menambahkan pernyataan berikut ke kebijakan izin yang dilampirkan ke profil instans EC2 Anda.
Untuk informasi selengkapnya tentang enkripsi Katalog Data AWS Glue, lihat Mengenkripsi katalog data Anda di Panduan Pengembang AWS Glue.
Resource-based izin
Jika Anda menggunakan AWS Glue bersama dengan Hive, Spark, atau Presto di Amazon EMR, AWS Glue mendukung kebijakan berbasis sumber daya untuk mengontrol akses ke sumber daya Katalog Data. Sumber daya ini termasuk database, tabel, koneksi, dan fungsi yang ditetapkan pengguna. Untuk informasi lebih lanjut, lihat AWS Kebijakan sumber daya Glue di AWS Panduan Developer Glue.
Saat menggunakan kebijakan berbasis sumber daya untuk membatasi akses ke AWS Glue dari dalam Amazon EMR, prinsip yang Anda tentukan dalam kebijakan izin haruslah peran ARN yang terkait dengan profil instans EC2 yang ditentukan saat cluster dibuat. Misalnya, untuk kebijakan berbasis sumber daya yang dilampirkan ke katalog, Anda dapat menentukan peran ARN untuk peran layanan default untuk instans EC2 cluster, EMR_EC2_DefaultRole sepertiPrincipal, menggunakan format yang ditunjukkan dalam contoh berikut:
arn:aws:iam::acct-id:role/EMR_EC2_DefaultRole
Itu acct-id bisa berbeda dari ID akun AWS Glue. Hal ini memungkinkan akses dari cluster EMR di account yang berbeda. Anda dapat menentukan beberapa kepala sekolah, masing-masing dari akun yang berbeda.
Pertimbangan saat menggunakan AWS Katalog Data Lem
Pertimbangkan item berikut saat menggunakan Katalog Data AWS Glue sebagai metastore Apache Hive dengan Spark:
-
Memiliki database default tanpa lokasi URI menyebabkan kegagalan ketika Anda membuat tabel. Sebagai solusi, gunakan
LOCATIONuntuk menentukan lokasi bucket, sepertis3://, saat Anda menggunakanamzn-s3-demo-bucket1CREATE TABLE. Atau membuat tabel dalam database selain database default. Mengganti nama tabel dari dalam AWS Glue tidak didukung.
Bila Anda membuat tabel Hive tanpa menentukan
LOCATION, data tabel disimpan di lokasi yang ditentukan olehhive.metastore.warehouse.dirproperti. Secara default, ini adalah lokasi di HDFS. Jika gugus lain perlu mengakses tabel, gagal kecuali memiliki izin yang memadai untuk gugus yang dibuat tabel. Selain itu, karena penyimpanan HDFS sementara, jika gugus berakhir, data tabel hilang, dan tabel harus diciptakan kembali. Sebaiknya tentukan aLOCATIONdi Amazon S3 saat membuat tabel Hive menggunakan AWS Glue. Atau, Anda dapat menggunakanhive-siteklasifikasi konfigurasi untuk menentukan lokasi di Amazon S3 untukhive.metastore.warehouse.dir, yang berlaku untuk semua tabel Hive. Jika tabel dibuat di lokasi HDFS dan cluster yang membuatnya masih berjalan, Anda dapat memperbarui lokasi tabel ke Amazon S3 dari dalam AWS Glue. Untuk informasi selengkapnya, lihat Bekerja dengan Tabel di Kon AWS sol L em di Panduan AWS Pengembang Lem.Nilai partisi yang berisi tanda kutip dan apostrof tidak didukung, misalnya,
PARTITION (owner="Doe's").Statistik kolom
didukung untuk emr-5.31.0 dan yang lebih baru. Menggunakan Otorisasi hive
tidak didukung. Sebagai alternatif, pertimbangkan untuk menggunakan AWS Resource-Based Kebijakan Lem. Untuk informasi selengkapnya, lihat Penggunaan Resource-Based Kebijakan untuk Akses Amazon EMR ke Katalog Data AWS Glue.
Pertimbangkan hal berikut saat menggunakan Katalog Data AWS Glue sebagai Apache Iceberg REST Catalog dengan Spark:
-
Jika Anda menggunakan katalog sesi Spark dengan Iceberg, yang dijelaskan diPerbedaan konfigurasi saat Anda menggunakan Iceberg versus SparkCatalog SparkSessionCatalog, Anda harus mengonfigurasi Katalog Data AWS Glue sebagai metastore Apache Hive, selain mengonfigurasi Katalog Data AWS Glue sebagai katalog REST Apache Iceberg.
-
Titik akhir IRC Katalog Data AWS Glue hanya mendukung skema otentikasi Amazon SigV4. OAuth tidak didukung. Untuk pengguna OAuth, silakan gunakan Pusat Identitas IAM untuk mengonfigurasi akses. Lihat Mengh ubungkan Formasi Danau dengan Pusat Identitas IAM.
-
Katalog AWS Glue Iceberg REST tidak mendukung semua operasi dalam open source.
-
Berikut adalah Pertim bangan untuk Amazon EMR dengan Formasi Danau.