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à.
Accesso alle tabelle Amazon S3 con Amazon EMR
Amazon EMR (precedentemente chiamato Amazon Elastic MapReduce) è una piattaforma di cluster gestita che semplifica l'esecuzione di framework di big data, come «and on»Apache Spark, AWS per elaborare Apache Hadoop 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 usare i cluster Apache Iceberg in Amazon EMR con le tabelle S3 connettendosi ai bucket di tabelle in una sessione di Spark. Per connetterti ai table bucket in Amazon EMR, puoi utilizzare AWS l'integrazione dei servizi di analisi o utilizzare AWS Glue Data Catalog il catalogo open source Amazon S3 Tables Catalog per il catalogo clienti. Apache Iceberg
Connessione ai bucket di tabelle S3 con Spark sul cluster Amazon EMR Iceberg
In questa procedura, configuri un cluster Amazon EMR configurato per Apache Iceberg e poi avvii una Spark sessione che si connette ai tuoi table bucket. Puoi configurarlo utilizzando l'integrazione dei servizi di AWS analisi oppure puoi utilizzare il catalogo open source Amazon S3 Tables Catalog per il catalogo Apache Iceberg clienti. AWS Glue 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 sulle tabelle Spark su Amazon EMR utilizzando Amazon S3 Tables Catalog for. Apache Iceberg
Per configurare un cluster Amazon EMR con cui interrogare le tabelle Spark
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"}
}]
-
Connettersi al nodo principale di Spark tramite SSH.
-
Per inizializzare una sessione di Spark per Iceberg che si connette al proprio bucket di tabelle, inserire 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
-
Eseguire query sulle 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 sulle tabelle Spark su Amazon EMR utilizzando AWS l'integrazione dei servizi di analisi.
Per configurare un cluster Amazon EMR con cui interrogare le tabelle Spark
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"}
}]
-
Connettersi al nodo principale di Spark tramite SSH.
-
Inserire il seguente comando per inizializzare una sessione di Spark per Iceberg che si connette alle proprie tabelle. 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
-
Eseguire query sulle tabelle con Spark SQL. Per query di esempio, consulta Interrogazione di tabelle S3 con Spark SQL.
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 alla 7.5
DROP TABLE
non è supportato. Puoi utilizzare l'API DeleteTable
REST di S3 Tables per eliminare una tabella.