Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Accesso alle tabelle Amazon S3 con Amazon EMR

Modalità Focus
Accesso alle tabelle Amazon S3 con Amazon EMR - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon EMR (precedentemente chiamato Amazon Elastic MapReduce) è una piattaforma di cluster gestita che semplifica l'esecuzione di framework di big data, come Apache Hadoop e Apache Spark, AWS per elaborare e analizzare grandi quantità di dati. Utilizzando questi framework e i relativi progetti open source, è possibile elaborare i dati per scopi di analisi e carichi di lavoro di business intelligence. Amazon EMR consente inoltre di trasformare e spostare grandi quantità di dati da e verso altri archivi di AWS dati e database.

È possibile utilizzare… Apache Iceberg cluster in Amazon EMR per lavorare con le tabelle S3 collegandosi ai bucket di tabella in un Spark sessione. Per connetterti ai table bucket in Amazon EMR, puoi utilizzare AWS l'integrazione dei servizi di analisi AWS Glue Data Catalog tramite, oppure puoi utilizzare il catalogo open source di Amazon S3 Tables Catalog per Apache Iceberg catalogo clienti.

Nota

Tabelle S3 è supportato su Amazon EMR versione 7.5 o successiva.

Connessione ai bucket da tavolo S3 con Spark su un Amazon EMR Iceberg cluster

In questa procedura, configuri un cluster Amazon EMR configurato per Apache Iceberg e poi avvia un Spark sessione che si collega ai bucket da tavolo. Puoi configurarlo utilizzando l'integrazione dei servizi di AWS analisi oppure puoi utilizzare il catalogo open source Amazon S3 Tables Catalog per AWS GlueApache Iceberg catalogo clienti. Per ulteriori informazioni sul catalogo del client, consulta Accesso alle tabelle utilizzando le tabelle Amazon S3 Iceberg REST endpoint.

Scegli il metodo di utilizzo delle tabelle con Amazon EMR tra le seguenti opzioni.

Amazon S3 Tables Catalog for Apache Iceberg

I seguenti prerequisiti sono necessari per eseguire query nelle tabelle con Spark su Amazon EMR utilizzando il catalogo di tabelle Amazon S3 per Apache Iceberg.

Prerequisiti
  • Associare la policy AmazonS3TablesFullAccess al ruolo IAM utilizzato per Amazon EMR.

Per configurare un cluster Amazon EMR con cui interrogare le tabelle Spark
  1. Crea un cluster con la seguente configurazione. Per utilizzare questo comando, sostituisci user input placeholders con le tue informazioni.

    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 al Spark nodo primario tramite SSH.

  3. Per inizializzare un Spark sessione per Iceberg che si connette al tuo bucket da tavolo, inserisci il seguente comando. Sostituiscilo user input placeholders con il tuo secchio da tavolo ARN.

    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. Interroga le tue tabelle con Spark SQL. Per query di esempio, consulta Interrogazione di tabelle S3 con Spark SQL.

AWS analytics services integration

I seguenti prerequisiti sono necessari per eseguire query nelle tabelle con Spark su Amazon EMR utilizzando l'integrazione dei servizi AWS di analisi.

Prerequisiti
Per configurare un cluster Amazon EMR con cui interrogare le tabelle Spark
  1. Crea un cluster con la seguente configurazione. Per utilizzare questo esempio, sostituisci i user input placeholder valori con le tue informazioni.

    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 al Spark nodo primario tramite SSH.

  3. Immettere il seguente comando per inizializzare un Spark sessione per Iceberg che si collega ai tuoi tavoli. Sostituire user input placeholders con le proprie informazioni.

    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. Eseguire query sulle tabelle con Spark SQL. Per query di esempio, consulta Interrogazione di tabelle S3 con Spark SQL.

I seguenti prerequisiti sono necessari per eseguire query nelle tabelle con Spark su Amazon EMR utilizzando il catalogo di tabelle Amazon S3 per Apache Iceberg.

Prerequisiti
  • Associare la policy AmazonS3TablesFullAccess al ruolo IAM utilizzato per Amazon EMR.

Per configurare un cluster Amazon EMR con cui interrogare le tabelle Spark
  1. Crea un cluster con la seguente configurazione. Per utilizzare questo comando, sostituisci user input placeholders con le tue informazioni.

    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 al Spark nodo primario tramite SSH.

  3. Per inizializzare un Spark sessione per Iceberg che si connette al tuo bucket da tavolo, inserisci il seguente comando. Sostituiscilo user input placeholders con il tuo secchio da tavolo ARN.

    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. Interroga le tue tabelle con Spark SQL. Per query di esempio, consulta Interrogazione di tabelle S3 con Spark SQL.

Nota

Se utilizzi il DROP TABLE PURGE comando con Amazon EMR:

  • Amazon EMR versione 7.5

    Imposta la configurazione di Spark su. spark.sql.catalog.your-catalog-name.cache-enabled false Se questa configurazione è impostata su true, eseguire il comando in una nuova sessione o applicazione in modo che la cache della tabella non venga attivata.

  • Versioni di Amazon EMR superiori a 7,5

    DROP TABLE non è supportato. Puoi utilizzare l'API DeleteTable REST di S3 Tables per eliminare una tabella.

Argomento successivo:

Amazon QuickSight

Argomento precedente:

Amazon Redshift
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.