Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan hierarki multi-katalog di AWS Katalog Data Lem dengan Spark di Amazon EMR
Anda dapat mendaftarkan cluster Amazon EMR Anda untuk mengakses Katalog Data AWS Glue, yang membuat tabel dan sumber daya katalog lainnya tersedia untuk berbagai konsumen. AWS Glue Data Catalog mendukung hierarki multi-katalog, yang menyatukan data Anda di Amazon S3 data lake. Ini juga menyediakan API metastore Hive dan APache Iceberg REST API open-source untuk mengakses data. Fitur-fitur ini tersedia untuk Amazon EMR dan layanan lain seperti Amazon Athena dan Amazon Redshift.
Bagaimana sumber daya katalog diatur
Saat Anda membuat sumber daya di Katalog Data AWS Glue, Anda dapat mengaksesnya dari mesin SQL apa pun yang mendukung Apache Iceberg REST API atau Hive metastore. AWS Formasi Danau mengelola izin.
Di AWS Glue Data Catalog, data diatur dalam hierarki logis katalog, database, dan tabel:
-
Katalog — Wadah logis yang menyimpan objek dari penyimpanan data, seperti skema atau tabel.
-
Katalog untuk menyimpan tabel Redshift Managed Storage (RMS) — Saat Anda mengelola katalog untuk menyimpan tabel RMS, Anda dapat mengakses tabel ini menggunakan Iceberg.
-
Database — Mengatur objek data seperti tabel dan tampilan dalam katalog.
-
Tabel dan tampilan — Objek data dalam database yang menyediakan lapisan abstraksi dengan skema yang dapat dimengerti. Mereka menyediakan lapisan untuk mengakses data yang mendasarinya, yang dapat dalam berbagai format dan di lokasi yang berbeda.
Mengkonfigurasi katalog data untuk digunakan dengan Amazon EMR
Untuk memulai, Anda mengonfigurasi katalog untuk mendukung alat Amazon EMR. Katalog Data AWS Glue menyediakan kompatibilitas metastore Hive dan API yang kompatibel dengan Iceberg REST.
Mengkonfigurasi Amazon EMR dengan metastore Hive
Untuk informasi tentang cara mengaturnya, lihat Dukungan Katalog Data AWS Glue untuk pekerjaan Spark di Panduan AWS Pengguna Glue. Topik ini menjelaskan cara mengonfigurasi Katalog Data AWS Glue sebagai metastore Hive dan membuatnya tersedia sebagai titik akhir. Selain itu, tersedia dokumentasi Amazon EMR yang menunjukkan cara menentukan Katalog Data AWS Glue sebagai metastore Spark, di Gunakan Katalog Data AWS Glue sebagai metastore Apache Hive untuk Spark.
Izin untuk mengakses sumber daya di AWS Katalog Data Lem
Bagian ini menjelaskan persyaratan kebijakan IAM untuk menggunakan alat Amazon EMR dengan data katalog. Setelah Anda mendaftarkan cluster Anda dengan Katalog Data AWS Glue, Anda memerlukan izin berikut untuk menemukan pembuatan dan perubahan pada katalog data yang dibuat selanjutnya:
-
lem: GetCatalog
-
lem: GetCatalogs
-
sts: AssumeRole
-
sts: TagSession
-
sts: SetContext
-
sts: SetSourceIdentity
Dalam kebanyakan kasus, saat Anda menetapkan izin, sebaiknya buat peran IAM dan menetapkan izin untuk itu.
Selain itu, untuk menanyakan data katalog, Anda harus mengatur izin untuk katalog data menggunakan AWS Lake Formation. Untuk informasi selengkapnya tentang menyetel izin untuk katalog data di AWS Lake Formation, lihat Mem berikan dan mencabut izin pada sumber daya Katalog Data.
Setelah Anda membuat dan mengonfigurasi cluster Anda, dan menetapkan izin pada objek katalog Anda, Anda dapat mengirimkan pekerjaan ke kueri dan memproses data.
Konfigurasikan Spark untuk mengakses hierarki multi-katalog di AWS Katalog Data Lem
Dengan EMR 7.5, Anda dapat mengonfigurasi Spark untuk menggunakan heir AWS arki multi-katalog Glue. Hirarki multi-katalog memungkinkan Anda untuk:
-
Bawa data Redshift Managed Storage (RMS) Anda, seperti tabel, tampilan, dan tampilan terwujud dari gudang data Amazon Redshift yang ada ke AWS Katalog Data Glue. Anda dapat menanyakan objek ini menggunakan EMR di EC2 dan EMR Serverless.
-
Buat katalog RMS, Rek AWS atkan Katalog Data dan simpan data di RMS menggunakan ZeroETL dan kueri data dengan mesin kueri. Iceberg-compatible
-
Buat tabel Iceberg terkelola di AWS Glue Data Catalog dengan manajemen penyimpanan berfitur lengkap yang mencakup pemadatan, snapshot, dan retensi.
Menghubungkan ke multi-katalog saat Anda menginisialisasi sesi Spark
Contoh berikut menunjukkan cara menggunakan Spark shell interaktif, Spark submit, atau Amazon EMR Notebooks untuk bekerja dengan hierarki AWS multi-katalog Glue.
Inisialisasi sesi Spark ke Redshift Managed Storage dengan AWS Katalog Data Lem
Perintah contoh berikut menginisialisasi sesi Spark dengan Katalog Data AWS Glue.
spark-sql \ --conf spark.sql.catalog.rms=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.rms.type=glue \ --conf spark.sql.catalog.rms.glue.id=Glue RMS catalog ID\ --conf spark.sql.defaultCatalog=rms --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
Contoh berikut menginisialisasi sesi Spark menggunakan Iceberg REST API dan Redshift Managed Storage dengan AWS Katalog Data Glue.
spark-sql \ --conf spark.sql.catalog.rms=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.rms.type=rest \ --conf spark.sql.catalog.rms.warehouse=glue RMS catalog ID\ --conf spark.sql.catalog.rms.uri=Glue endpoint URI/iceberg \ --conf spark.sql.catalog.rms.rest.sigv4-enabled=true \ --conf spark.sql.catalog.rms.rest.signing-name=glue \ --conf spark.sql.defaultCatalog=rms \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
Untuk informasi selengkapnya tentang menggunakan hierarki multi-katalog AWS Glue dengan Spark Iceberg, lihat Menggunakan cluster Iceberg dengan Spark.
Pertimbangan dan batasan untuk konfigurasi multi-katalog
-
Menggunakan hierarki multi-katalog dengan metastore Apache Hive tidak didukung.
-
Menggunakan hierarki multi-katalog dengan Apache Iceberg tidak dapat mendukung fallback ke metastore Apache Hive, saat menggunakan.
SparkSessionCatalog -
EMR pada cluster EC2 dengan peran Runtime tidak mendukung hierarki multi-katalog.
-
EMR pada cluster EC2 diaktifkan dengan AWS Lake Formation tidak mendukung hierarki multi-katalog.