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 S3 Tables Catalog per Apache Iceberg

Modalità Focus
Accesso alle tabelle Amazon S3 con Amazon S3 Tables Catalog per Apache Iceberg - 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à.

Puoi accedere alle tabelle S3 da motori di query open source come Apache Spark utilizzando Amazon S3 Tables Catalog per Apache Iceberg catalogo clienti. Catalogo di tabelle Amazon S3 per Apache Iceberg è una libreria open source ospitata da AWS Labs. Funziona traducendo Apache Iceberg operazioni nei motori di query (come l'individuazione delle tabelle, gli aggiornamenti dei metadati e l'aggiunta o la rimozione di tabelle) nelle operazioni dell'API S3 Tables.

Catalogo di tabelle Amazon S3 per Apache Iceberg è distribuito come Maven JAR chiamatos3-tables-catalog-for-iceberg.jar. È possibile creare il catalogo dei clienti JAR dal AWS Labs GitHub archivialo o scaricalo da Maven. Quando ci si connette ai tavoli, il catalogo dei client JAR viene utilizzato come dipendenza quando si inizializza un Spark sessione per Apache Iceberg.

Utilizzo del catalogo di tabelle Amazon S3 per Apache Iceberg con Apache Spark

Puoi usare Amazon S3 Tables Catalog per Apache Iceberg catalogo client per connettersi alle tabelle da applicazioni open source quando si inizializza un Spark sessione. Nella configurazione della sessione si specifica Iceberg e dipendenze Amazon S3 e crea un catalogo personalizzato che utilizza il tuo table bucket come magazzino di metadati.

Per inizializzare un Spark sessione utilizzando Amazon S3 Tables Catalog per Apache Iceberg
  • Inizializzazione Spark utilizzando il seguente comando. Per utilizzare il comando, sostituisci il catalogo di tabelle Amazon S3 con Apache Iceberg version numbercon l'ultima versione di AWS Labs GitHub repository e poi table bucket ARN con il proprio bucket ARN.

    spark-shell \ --packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.6.1,software.amazon.s3tables:s3-tables-catalog-for-iceberg-runtime:0.1.4 \ --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-table-bucket \ --conf spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions

Interrogazione di tabelle S3 con Spark SQL

Utilizzo Spark, puoi eseguire operazioni DQL, DML e DDL sulle tabelle S3. Quando si eseguono query sulle tabelle, si utilizza il nome completo della tabella, incluso il nome del catalogo delle sessioni, seguendo questo schema:

CatalogName.NamespaceName.TableName

Le seguenti query di esempio mostrano alcuni modi in cui è possibile interagire con le tabelle S3. Per utilizzare queste query di esempio nel tuo motore di query, sostituisci i user input placeholder valori con i tuoi.

Per interrogare le tabelle con Spark
  • Creare uno spazio dei nomi

    spark.sql(" CREATE NAMESPACE IF NOT EXISTS s3tablesbucket.my_namespace")
  • Creare una tabella

    spark.sql(" CREATE TABLE IF NOT EXISTS s3tablesbucket.my_namespace.`my_table` ( id INT, name STRING, value INT ) USING iceberg ")
  • Esecuzione di una query su una tabella

    spark.sql(" SELECT * FROM s3tablesbucket.my_namespace.`my_table` ").show()
  • Inserire dati in una tabella

    spark.sql( """ INSERT INTO s3tablesbucket.my_namespace.my_table VALUES (1, 'ABC', 100), (2, 'XYZ', 200) """)
  • Carica un file di dati esistente in una tabella

    1. Leggere i dati in Spark.

      val data_file_location = "Path such as S3 URI to data file" val data_file = spark.read.parquet(data_file_location)
    2. Scrivere i dati in una tabella Iceberg.

      data_file.writeTo("s3tablesbucket.my_namespace.my_table").using("Iceberg").tableProperty ("format-version", "2").createOrReplace()
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.