Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Accès aux tables Amazon S3 avec le catalogue de tables Amazon S3 pour Apache Iceberg

Mode de mise au point
Accès aux tables Amazon S3 avec le catalogue de tables Amazon S3 pour Apache Iceberg - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez accéder aux tables S3 à partir de moteurs de requêtes open source tels que Apache Spark en utilisant le catalogue de tables Amazon S3 pour Apache Iceberg catalogue client. Catalogue de tables Amazon S3 pour Apache Iceberg est une bibliothèque open source hébergée par AWS Labs. Cela fonctionne en traduisant Apache Iceberg opérations dans vos moteurs de requêtes (telles que la découverte de tables, les mises à jour de métadonnées et l'ajout ou la suppression de tables) dans les opérations de l'API S3 Tables.

Catalogue de tables Amazon S3 pour Apache Iceberg est distribué sous forme de Maven JAR appelés3-tables-catalog-for-iceberg.jar. Vous pouvez créer le catalogue client JAR depuis le AWS Labs GitHub dépôt ou téléchargez-le depuis Maven. Lors de la connexion à des tables, le catalogue client JAR est utilisé comme dépendance lorsque vous initialisez un Spark séance pour Apache Iceberg.

Utilisation du catalogue de tables Amazon S3 pour Apache Iceberg avec Apache Spark

Vous pouvez utiliser le catalogue de tables Amazon S3 pour Apache Iceberg catalogue client pour se connecter à des tables à partir d'applications open source lorsque vous initialisez un Spark séance. Dans la configuration de votre session, vous spécifiez Iceberg et les dépendances d'Amazon S3, et créez un catalogue personnalisé qui utilise votre compartiment de tables comme entrepôt de métadonnées.

Pour initialiser un Spark session utilisant le catalogue de tables Amazon S3 pour Apache Iceberg
  • Initialiser Spark à l'aide de la commande suivante. Pour utiliser la commande, remplacez le catalogue de tables Amazon S3 par Apache Iceberg version numberavec la dernière version de AWS Labs GitHub référentiel, et le table bucket ARN avec votre propre ARN de bucket de table.

    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

Interrogation de tables S3 avec Spark SQL

Utilisation Spark, vous pouvez exécuter des opérations DQL, DML et DDL sur des tables S3. Lorsque vous interrogez des tables, vous utilisez le nom complet de la table, y compris le nom du catalogue de sessions, selon le modèle suivant :

CatalogName.NamespaceName.TableName

Les exemples de requêtes suivants montrent plusieurs manières d’interagir avec les tables S3. Pour utiliser ces exemples de requêtes dans votre moteur de requêtes, remplacez les user input placeholder valeurs par les vôtres.

Pour interroger des tables avec Spark
  • Création d’un espace de noms

    spark.sql(" CREATE NAMESPACE IF NOT EXISTS s3tablesbucket.my_namespace")
  • Créer une table

    spark.sql(" CREATE TABLE IF NOT EXISTS s3tablesbucket.my_namespace.`my_table` ( id INT, name STRING, value INT ) USING iceberg ")
  • Interroger une table

    spark.sql(" SELECT * FROM s3tablesbucket.my_namespace.`my_table` ").show()
  • Insérer des données dans un tableau

    spark.sql( """ INSERT INTO s3tablesbucket.my_namespace.my_table VALUES (1, 'ABC', 100), (2, 'XYZ', 200) """)
  • Charger un fichier de données existant dans une table

    1. Lisez les données dans Spark.

      val data_file_location = "Path such as S3 URI to data file" val data_file = spark.read.parquet(data_file_location)
    2. Écrivez les données dans une table Iceberg.

      data_file.writeTo("s3tablesbucket.my_namespace.my_table").using("Iceberg").tableProperty ("format-version", "2").createOrReplace()
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.