Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Mengakses tabel Amazon S3 dengan Amazon EMR

Mode fokus
Mengakses tabel Amazon S3 dengan Amazon EMR - Amazon Simple Storage Service

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

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

catatan

Integrasi dengan layanan AWS analitik untuk bucket tabel ada dalam rilis pratinjau dan dapat berubah sewaktu-waktu.

Amazon EMR (sebelumnya disebut Amazon Elastic MapReduce) adalah platform cluster terkelola yang menyederhanakan menjalankan kerangka kerja data besar, seperti Apache Hadoop and Apache Spark, AWS untuk memproses dan menganalisis sejumlah besar data. Dengan menggunakan kerangka kerja ini dan proyek sumber terbuka terkait, Anda dapat memproses data untuk tujuan analitik dan beban kerja intelijen bisnis. Amazon EMR juga memungkinkan Anda mengubah dan memindahkan sejumlah besar data ke dalam dan keluar dari penyimpanan AWS data dan database lainnya.

Anda dapat menggunakan Apache Iceberg cluster di Amazon EMR untuk bekerja dengan tabel S3 dengan menghubungkan ke bucket tabel di a Spark sesi. Untuk menyambung ke bucket tabel di Amazon EMR, Anda dapat menggunakan AWS integrasi layanan analitik AWS Glue Data Catalog melalui, atau Anda dapat menggunakan Katalog Tabel Amazon S3 sumber terbuka untuk katalog klien Apache Iceberg.

catatan

Tabel S3 didukung di Amazon EMR versi 7.5 atau lebih tinggi.

Menghubungkan ke ember meja S3 dengan Spark pada EMR Amazon Iceberg cluster

Dalam prosedur ini, Anda menyiapkan kluster EMR Amazon yang dikonfigurasi Apache Iceberg dan kemudian meluncurkan Spark sesi yang terhubung ke ember meja Anda. Anda dapat mengaturnya menggunakan integrasi layanan AWS analitik melalui AWS Glue, atau Anda dapat menggunakan Katalog Tabel Amazon S3 open source untuk katalog klien Apache Iceberg. Untuk informasi tentang katalog klien, lihatMengakses tabel Amazon S3 dari mesin kueri sumber terbuka.

Pilih metode Anda menggunakan tabel dengan Amazon EMR dari opsi berikut.

Amazon S3 Tables Catalog for Apache Iceberg

Prasyarat berikut diperlukan untuk menanyakan tabel dengan Spark di Amazon EMR menggunakan Katalog Tabel Amazon S3 untuk Apache Iceberg.

Prasyarat
  • Lampirkan AmazonS3TablesFullAccess kebijakan ke peran IAM yang Anda gunakan untuk Amazon EMR.

Untuk menyiapkan kluster EMR Amazon ke tabel kueri dengan Spark
  1. Buat cluster dengan konfigurasi berikut. Untuk menggunakan contoh ini, ganti user input placeholder nilainya dengan nilai Anda sendiri.

    aws emr create-cluster --release-label emr-7.5.0 \ --applications Name=Spark \ --configurations file://configurations.json \ --region us-east-1 \ --name My_Spark_Iceberg_Cluster \ --log-uri s3://amzn-s3-demo-bucket/ \ --instance-type m5.xlarge \ --instance-count 2 \ --service-role EMR_DefaultRole \ --ec2-attributes \ InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0,KeyName=my-key-pair

    configurations.json:

    [{ "Classification":"iceberg-defaults", "Properties":{"iceberg.enabled":"true"} }]
  2. Connect ke Spark node primer menggunakan SSH.

  3. Untuk menginisialisasi a Spark sesi untuk Iceberg yang terhubung ke bucket meja Anda, masukkan perintah berikut. Ganti input placeholder dengan ember meja ARN Anda.

    spark-shell \ --packages software.amazon.s3tables:s3-tables-catalog-for-iceberg-runtime:0.1.3 \ --conf spark.sql.catalog.s3tablesbucket=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tablesbucket.catalog-impl=software.amazon.s3tables.iceberg.S3TablesCatalog \ --conf spark.sql.catalog.s3tablesbucket.warehouse=arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --conf spark.sql.defaultCatalog=s3tablesbucket \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
  4. Kueri tabel Anda dengan Spark SQL. Misalnya kueri, lihatMenanyakan tabel S3 dengan Spark.

AWS analytics services integration

Perequisites berikut diperlukan untuk menanyakan tabel dengan Spark di Amazon EMR menggunakan integrasi layanan AWS analitik.

Prasyarat
Untuk menyiapkan kluster EMR Amazon ke tabel kueri dengan Spark
  1. Buat cluster dengan konfigurasi berikut. Untuk menggunakan contoh ini, ganti user input placeholder nilainya dengan nilai Anda sendiri.

    aws emr create-cluster --release-label emr-7.5.0 \ --applications Name=Spark \ --configurations file://configurations.json \ --region us-east-1 \ --name My_Spark_Iceberg_Cluster \ --log-uri s3://amzn-s3-demo-bucket/ \ --instance-type m5.xlarge \ --instance-count 2 \ --service-role EMR_DefaultRole \ --ec2-attributes \ InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0,KeyName=my-key-pair

    configurations.json:

    [{ "Classification":"iceberg-defaults", "Properties":{"iceberg.enabled":"true"} }]
  2. Connect ke Spark node primer menggunakan SSH.

  3. Masukkan perintah berikut untuk menginisialisasi Spark sesi untuk Iceberg yang terhubung ke tabel Anda. Ganti input placeholder dengan nama bucket meja Anda.

    spark-shell \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions \ --conf spark.sql.defaultCatalog=s3tables \ --conf spark.sql.catalog.s3tables=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tables.catalog-impl=org.apache.iceberg.aws.glue.GlueCatalog \ --conf spark.sql.catalog.s3tables.client.region=us-east-1 \ --conf spark.sql.catalog.s3tables.glue.id=111122223333
  4. Kueri tabel Anda dengan Spark SQL. Misalnya kueri, lihat Menanyakan tabel S3 dengan Spark

Prasyarat berikut diperlukan untuk menanyakan tabel dengan Spark di Amazon EMR menggunakan Katalog Tabel Amazon S3 untuk Apache Iceberg.

Prasyarat
  • Lampirkan AmazonS3TablesFullAccess kebijakan ke peran IAM yang Anda gunakan untuk Amazon EMR.

Untuk menyiapkan kluster EMR Amazon ke tabel kueri dengan Spark
  1. Buat cluster dengan konfigurasi berikut. Untuk menggunakan contoh ini, ganti user input placeholder nilainya dengan nilai Anda sendiri.

    aws emr create-cluster --release-label emr-7.5.0 \ --applications Name=Spark \ --configurations file://configurations.json \ --region us-east-1 \ --name My_Spark_Iceberg_Cluster \ --log-uri s3://amzn-s3-demo-bucket/ \ --instance-type m5.xlarge \ --instance-count 2 \ --service-role EMR_DefaultRole \ --ec2-attributes \ InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-1234567890abcdef0,KeyName=my-key-pair

    configurations.json:

    [{ "Classification":"iceberg-defaults", "Properties":{"iceberg.enabled":"true"} }]
  2. Connect ke Spark node primer menggunakan SSH.

  3. Untuk menginisialisasi a Spark sesi untuk Iceberg yang terhubung ke bucket meja Anda, masukkan perintah berikut. Ganti input placeholder dengan ember meja ARN Anda.

    spark-shell \ --packages software.amazon.s3tables:s3-tables-catalog-for-iceberg-runtime:0.1.3 \ --conf spark.sql.catalog.s3tablesbucket=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.s3tablesbucket.catalog-impl=software.amazon.s3tables.iceberg.S3TablesCatalog \ --conf spark.sql.catalog.s3tablesbucket.warehouse=arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-bucket1 \ --conf spark.sql.defaultCatalog=s3tablesbucket \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions
  4. Kueri tabel Anda dengan Spark SQL. Misalnya kueri, lihatMenanyakan tabel S3 dengan Spark.

catatan

Jika Anda menggunakan DROP TABLE PURGE perintah dengan EMR:

  • EMR versi 7.5

    Setel konfigurasi Spark spark.sql.catalog.<your-catalog-name>.cache-enabled ke false. Jika konfigurasi ini diatur ketrue, jalankan perintah dalam sesi atau aplikasi baru sehingga cache tabel tidak diaktifkan.

  • Versi EMR lebih tinggi dari 7,5

    DROP TABLE tidak didukung. Anda dapat menggunakan DeleteTable REST API Tabel S3 untuk menghapus tabel.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.