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.
AWS Glue le point de terminaison Iceberg REST prend en charge les opérations d'API spécifiées dans la spécification REST d'Apache Iceberg. À l'aide d'un client REST Iceberg, vous pouvez connecter votre application exécutée sur un moteur d'analyse au catalogue REST hébergé dans le catalogue de données.
Le point de terminaison prend en charge les deux spécifications des tables Apache Iceberg : v1 et v2, la valeur par défaut étant v2. Lorsque vous utilisez la spécification de la table Iceberg v1, vous devez spécifier v1 dans l'appel d'API. À l'aide de l'opération API, vous pouvez accéder aux tables Iceberg stockées à la fois dans le stockage d'objets Amazon S3 et dans le stockage de tables Amazon S3.
Configuration du terminal
Vous pouvez accéder au catalogue REST d' AWS Glue Iceberg à l'aide du point de terminaison du service. Reportez-vous au guide de référence des points AWS Glue de terminaison de service pour le point de terminaison spécifique à la région. Par exemple, lorsque vous vous connectez AWS Glue à la région us-east-1, vous devez configurer la propriété URI du point de terminaison comme suit :
Endpoint : https://glue.us-east-1
.amazonaws.com/iceberg
Propriétés de configuration supplémentaires — Lorsque vous utilisez le client Iceberg pour connecter un moteur d'analyse tel que Spark au point de terminaison du service, vous devez spécifier les propriétés de configuration d'application suivantes :
catalog_name ="mydatacatalog"
aws_account_id ="123456789012"
aws_region = "us-east-1" spark = SparkSession.builder \ ... \ .config("spark.sql.defaultCatalog", catalog_name) \ .config(f"spark.sql.catalog.{catalog_name}", "org.apache.iceberg.spark.SparkCatalog") \ .config(f"spark.sql.catalog.{catalog_name}.type", "rest") \ .config(f"spark.sql.catalog.{catalog_name}.uri", "https://glue.{aws_region}.amazonaws.com/iceberg") \ .config(f"spark.sql.catalog.{catalog_name}.warehouse", "{aws_account_id}") \ .config(f"spark.sql.catalog.{catalog_name}.rest.sigv4-enabled", "true") \ .config(f"spark.sql.catalog.{catalog_name}.rest.signing-name", "glue") \ .config("spark.sql.extensions","org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions") \ .getOrCreate()
AWS Glue Les supports de point de terminaison Iceberg prennent en https://glue.
charge le REST Iceberg suivant : APIsus-east-1
.amazonaws.com/iceberg
-
GetConfig
-
ListNamespaces
-
CreateNamespace
-
LoadNamespaceMetadata
-
UpdateNamespaceProperties
-
DeleteNamespace
-
ListTables
-
CreateTable
-
LoadTable
-
TableExists
-
UpdateTable
-
DeleteTable
Paramètres du préfixe et du chemin du catalogue
Le catalogue REST d'Iceberg APIs comporte un préfixe de forme libre dans sa demande. URLs Par exemple, l'appel ListNamespaces
d'API utilise le format d'GET/v1/{prefix}/namespaces
URL. AWS Glue Le préfixe suit toujours la /catalogs/{catalog}
structure pour garantir que le chemin REST aligne la hiérarchie des catalogues AWS Glue multiples. Le paramètre de {catalog}
chemin peut être dérivé en fonction des règles suivantes :
Schéma d'accès |
Catalogue Glue ID Style |
Style de préfixe |
Exemple d'ID de catalogue par défaut |
Exemple de route REST |
---|---|---|---|---|
Accédez au catalogue par défaut dans le compte courant |
non requis | : |
ne s'applique pas |
GET /v1/catalogs/:/namespaces |
Accédez au catalogue par défaut dans un compte spécifique |
accountID | accountID | 111122223333 | GET /v1/catalogs/111122223333/namespaces |
Accédez à un catalogue imbriqué dans un compte courant |
catalogue1/catalogue2 |
catalogue1/catalogue2 |
rmscatalog 1 : db1 |
GET /v1/catalogs/rmscatalog1:db1/namespaces |
Accédez à un catalogue imbriqué dans un compte spécifique |
Identifiant du compte : Catalog1/Catalog2 |
Identifiant du compte : Catalog1/Catalog2 |
123456789012/rms catalogue:db1 |
GET /v1/catalogs/123456789012:rmscatalog1:db1/namespaces |
Le mappage de cet ID de catalogue vers le préfixe n'est requis que lorsque vous appelez directement le REST APIs. Lorsque vous utilisez le catalogue REST d' AWS Glue Iceberg APIs via un moteur, vous devez spécifier l'ID du AWS Glue catalogue dans le warehouse
paramètre de l'API de votre catalogue REST Iceberg ou dans le glue.id
paramètre de l'API de vos AWS Glue extensions. Par exemple, découvrez comment vous pouvez l'utiliser avec EMR Spark dans Utiliser un cluster Iceberg avec Spark.
Paramètre de chemin d'espace de noms
Les espaces de noms du APIs chemin du catalogue REST d'Iceberg peuvent comporter plusieurs niveaux. Toutefois, il AWS Glue
ne prend en charge que les espaces de noms à un seul niveau. Pour accéder à un espace de noms dans une hiérarchie de catalogue à plusieurs niveaux, vous pouvez vous connecter à un catalogue à plusieurs niveaux situé au-dessus de l'espace de noms pour référencer l'espace de noms. Cela permet à tout moteur de requête prenant en charge la notation en 3 parties d'accéder catalog.namespace.table
aux objets de la hiérarchie AWS Glue du catalogue à plusieurs niveaux sans problèmes de compatibilité par rapport à l'utilisation de l'espace de noms à plusieurs niveaux.