

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Zugreifen auf den Datenkatalog
<a name="access_catalog"></a>

 Sie können den AWS Glue Data Catalog (Datenkatalog) verwenden, um Ihre Daten zu entdecken und zu verstehen. Der Datenkatalog bietet eine konsistente Methode zur Verwaltung von Schemadefinitionen, Datentypen, Speicherorten und anderen Metadaten. Sie können mit den folgenden Methoden auf den Datenkatalog zugreifen:
+ AWS Glue Konsole — Sie können über die AWS Glue Konsole, eine webbasierte Benutzeroberfläche, auf den Datenkatalog zugreifen und ihn verwalten. Über die Konsole können Sie Datenbanken, Tabellen und die zugehörigen Metadaten durchsuchen sowie Metadatendefinitionen erstellen, aktualisieren und löschen. 
+ AWS-Glue-Crawler — Crawler sind Programme, die Ihre Datenquellen automatisch scannen und den Datenkatalog mit Metadaten füllen. Sie können Crawler erstellen und ausführen, um Daten aus verschiedenen Quellen wie Amazon S3, Amazon RDS, Amazon DynamoDB und JDBC-kompatiblen relationalen Datenbanken wie MySQL und PostgreSQL sowie aus mehreren Nichtquellen wie Snowflake und Google zu entdecken und zu katalogisieren. Amazon CloudWatchAWS BigQuery
+ AWS Glue APIs — Sie können programmgesteuert auf den Datenkatalog zugreifen, indem Sie AWS Glue APIs Diese APIs ermöglichen Ihnen die programmgesteuerte Interaktion mit dem Datenkatalog und ermöglichen so die Automatisierung und Integration mit anderen Anwendungen und Diensten. 
+ AWS Command Line Interface (AWS CLI) — Sie können den verwenden AWS CLI , um über die Befehlszeile auf den Datenkatalog zuzugreifen und ihn zu verwalten. Die CLI bietet Befehle zum Erstellen, Aktualisieren und Löschen von Metadatendefinitionen sowie zum Abfragen und Abrufen von Metadateninformationen. 
+ Integration mit anderen AWS Diensten — Der Datenkatalog lässt sich in verschiedene andere AWS Dienste integrieren, sodass Sie auf die im Katalog gespeicherten Metadaten zugreifen und diese nutzen können. Sie können Amazon Athena beispielsweise verwenden, um Datenquellen mithilfe der Metadaten im Datenkatalog abzufragen und den Datenzugriff und die Datenverwaltung für die Datenkatalogressourcen AWS Lake Formation zu verwalten. 

**Topics**
+ [

# Mit dem AWS Glue Iceberg-REST-Endpunkt eine Verbindung zum Datenkatalog herstellen
](connect-glu-iceberg-rest.md)
+ [

# Verbindung zum Datenkatalog mithilfe des AWS Glue Iceberg-REST-Erweiterungsendpunkts herstellen
](connect-glue-iceberg-rest-ext.md)
+ [

# AWS Glue REST APIs für Apache Iceberg-Spezifikationen
](iceberg-rest-apis.md)
+ [

# Herstellen einer Verbindung mit Datenkatalog über eine eigenständige Spark-Anwendung
](connect-gludc-spark.md)
+ [

# Zuordnen von Daten zwischen Amazon Redshift und Apache Iceberg
](data-mapping-rs-iceberg.md)
+ [

# Überlegungen und Einschränkungen bei der Verwendung von AWS Glue Iceberg REST Catalog APIs
](limitation-glue-iceberg-rest-api.md)

# Mit dem AWS Glue Iceberg-REST-Endpunkt eine Verbindung zum Datenkatalog herstellen
<a name="connect-glu-iceberg-rest"></a>

 Der Iceberg-REST-Endpunkt von AWS Glue unterstützt API-Operationen, die in der Apache-Iceberg-REST-Spezifikation spezifiziert sind. Mit einem Iceberg-REST-Client können Sie Ihre auf einer Analyse-Engine ausgeführte Anwendung mit dem im Datenkatalog gehosteten REST-Katalog verbinden.

 Der Endpunkt unterstützt beide Apache-Iceberg-Tabellenspezifikationen – v1 und v2, wobei standardmäßig v2 verwendet wird. Wenn Sie die Iceberg-Tabellenspezifikation v1 verwenden, müssen Sie v1 im API-Aufruf angeben. Mit der API-Operation können Sie auf Iceberg-Tabellen zugreifen, die sowohl im Amazon-S3-Objektspeicher als auch im Amazon-S3-Tables-Speicher gespeichert sind. 

**Endpunktkonfiguration**

Sie können über den Service-Endpunkt auf den AWS Glue Iceberg-REST-Katalog zugreifen. Die regionsspezifischen Endpunkte finden Sie im [Referenzhandbuch zu den AWS Glue -Service-Endpunkten](https://docs.aws.amazon.com/general/latest/gr/glue.html#glue_region). Wenn Sie beispielsweise eine Verbindung zu AWS Glue in der Region us-east-1 herstellen, müssen Sie die Eigenschaft „Endpunkt-URI“ wie folgt konfigurieren: 

```
Endpoint : https://glue.us-east-1.amazonaws.com/iceberg
```

**Zusätzliche Konfigurationseigenschaften**: Wenn Sie den Iceberg-Client verwenden, um eine Analyse-Engine wie Spark mit dem Service-Endpunkt zu verbinden, müssen Sie die folgenden Anwendungskonfigurationseigenschaften angeben:

```
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 Der Iceberg-Endpunkt ` https://glue.us-east-1.amazonaws.com/iceberg` unterstützt den folgenden Iceberg-REST: APIs
+ GetConfig
+ ListNamespaces
+ CreateNamespace
+ LoadNamespaceMetadata
+ UpdateNamespaceProperties
+ DeleteNamespace
+ ListTables
+ CreateTable
+ LoadTable
+ TableExists
+ UpdateTable
+ DeleteTable

## Präfix- und Katalogpfadparameter
<a name="prefix-catalog-path-parameters"></a>

Der Iceberg-REST-Katalog enthält in APIs seiner Anfrage ein Präfix in freier Form. URLs Beispielsweise verwendet der `ListNamespaces` API-Aufruf das `GET/v1/{prefix}/namespaces` URL-Format. AWS Glue Das Präfix folgt immer der `/catalogs/{catalog}` Struktur, um sicherzustellen, dass der REST-Pfad der Hierarchie mit AWS Glue mehreren Katalogen entspricht. Der `{catalog}`-Pfadparameter kann auf der Grundlage der folgenden Regeln abgeleitet werden:


| **Zugriffsmuster** |  **Glue-Katalog-ID-Stil**  |  **Präfix-Stil**  | **Beispiel für eine Standard-Katalog-ID** |  **Beispiel für eine REST-Route**  | 
| --- | --- | --- | --- | --- | 
|  Zugriff auf den Standardkatalog im aktuellen Konto  | Nicht erforderlich | : |  Nicht zutreffend  |  GET /v1/catalogs/:/namespaces  | 
|  Zugriff auf den Standardkatalog in einem bestimmten Konto  | accountID | accountID | 111122223333 | GET /v1/catalogs/111122223333/namespaces | 
|  Zugriff auf einen verschachtelten Katalog im aktuellen Konto  |  catalog1/catalog2  |  catalog1/catalog2  |  rmscatalog1:db1  |  HOLEN SIE SICH /v1/ catalogs/rmscatalog1:db1/namespaces  | 
|  Zugriff auf einen verschachtelten Katalog in einem bestimmten Konto  |  accountId:catalog1/catalog2  |  accountId:catalog1/catalog2  |  123456789012/rmscatalog1:db1  |  GET /v1/catalogs/123456789012:rmscatalog1:db1/namespaces  | 

Diese Zuordnung von Katalog-ID zu Präfix ist nur erforderlich, wenn Sie den REST direkt aufrufen. APIs Wenn Sie mit dem AWS Glue Iceberg-REST-Katalog APIs über eine Engine arbeiten, müssen Sie die AWS Glue Katalog-ID im `warehouse` Parameter für Ihre Iceberg-REST-Katalog-API-Einstellung oder im `glue.id` Parameter für Ihre AWS Glue Erweiterungs-API-Einstellung angeben. Informationen zur Verwendung mit EMR Spark finden Sie unter [Verwenden Sie einen Iceberg-Cluster mit Spark](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-iceberg-use-spark-cluster.html).

## Namespace-Pfadparameter
<a name="ns-path-param"></a>

Namespaces im APIs Iceberg-REST-Katalogpfad können mehrere Ebenen haben. AWS Glue unterstützt jedoch nur einstufige Namespaces. Um auf einen Namespace in einer mehrstufigen Kataloghierarchie zuzugreifen, können Sie eine Verbindung zu einem übergeordneten mehrstufigen Katalog herstellen, um auf den Namespace zu verweisen. Dadurch kann jede Abfrage-Engine, die die dreiteilige Notation unterstützt, im Vergleich `catalog.namespace.table` zur Verwendung des mehrstufigen AWS Glue Namespaces ohne Kompatibilitätsprobleme auf Objekte in der mehrstufigen Kataloghierarchie zugreifen.

# Verbindung zum Datenkatalog mithilfe des AWS Glue Iceberg-REST-Erweiterungsendpunkts herstellen
<a name="connect-glue-iceberg-rest-ext"></a>

 AWS Glue Der Iceberg-REST-Erweiterungsendpunkt bietet zusätzliche Funktionen APIs, die nicht in der Apache Iceberg-REST-Spezifikation enthalten sind, und bietet serverseitige Scanplanungsfunktionen. Diese zusätzlichen APIs werden verwendet, wenn Sie auf Tabellen zugreifen, die im verwalteten Amazon Redshift Redshift-Speicher gespeichert sind. Auf den Endpunkt kann von einer Anwendung aus zugegriffen werden, die Apache Iceberg-Erweiterungen AWS Glue Data Catalog verwendet. 

**Endpunktkonfiguration** – Über den Service-Endpunkt kann auf einen Katalog mit Tabellen im von Redshift verwalteten Speicher zugegriffen werden. Die regionsspezifischen Endpunkte finden Sie im [Referenzhandbuch zu den AWS Glue -Service-Endpunkten](https://docs.aws.amazon.com/general/latest/gr/glue.html#glue_region). Wenn Sie beispielsweise eine Verbindung mit der AWS Glue Region us-east-1 herstellen, müssen Sie die Eigenschaft Endpunkt-URI wie folgt konfigurieren:

```
Endpoint : https://glue.us-east-1.amazonaws.com/extensions
```

```
catalog_name = "myredshiftcatalog"
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", "glue") \
    .config(f"spark.sql.catalog.{catalog_name}.glue.id", "{123456789012}:redshiftnamespacecatalog/redshiftdb") \
    .config("spark.sql.extensions","org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions") \
    .getOrCreate()
```

# AWS Glue REST APIs für Apache Iceberg-Spezifikationen
<a name="iceberg-rest-apis"></a>

Dieser Abschnitt enthält Spezifikationen zum AWS Glue Iceberg-REST-Katalog und zur AWS Glue REST-Erweiterung APIs sowie Überlegungen zu deren Verwendung. APIs 

API-Anfragen an die AWS Glue Data Catalog Endgeräte werden mit AWS Signature Version 4 (Sigv4) authentifiziert. Weitere Informationen zu [AWS Sigv4 finden Sie im Abschnitt Signature Version 4 für API-Anfragen](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html). AWS 

Beim Zugriff auf den AWS Glue Dienstendpunkt und die AWS Glue Metadaten nimmt die Anwendung eine IAM-Rolle ein, für die eine IAM-Aktion erforderlich ist`glue:getCatalog`. 

Der Zugriff auf den Datenkatalog und die Objekte kann mithilfe von IAM-, Lake-Formation- oder Lake-Formation-Hybridmodus-Berechtigungen verwaltet werden.

Verbundkataloge im Datenkatalog weisen in Lake Formation registrierte Datenspeicherorte auf. Lake Formation arbeitet mit dem Datenkatalog zusammen, um Datenbanken ähnliche Berechtigungen für die Verwaltung des Benutzerzugriffs auf Datenkatalogobjekte bereitzustellen. 

Sie können IAM- oder Lake Formation Formation-Hybridmodus-Berechtigungen verwenden AWS Lake Formation, um den Zugriff auf den Standard-Datenkatalog und seine Objekte zu verwalten. 

Um Daten in von Lake Formation verwalteten Objekten zu erstellen, einzufügen oder zu löschen, müssen Sie bestimmte Berechtigungen für den IAM-Benutzer oder die IAM-Rolle einrichten. 
+ CREATE\$1CATALOG – erforderlich, um Kataloge zu erstellen 
+ CREATE\$1DATABASE – erforderlich, um Datenbanken zu erstellen
+ CREATE\$1TABLE – erforderlich, um Tabellen zu erstellen
+ DELETE – erforderlich, um Daten aus einer Tabelle zu löschen
+ DESCRIBE – erforderlich, um Metadaten zu lesen 
+ DROP — Für drop/delete eine Tabelle oder Datenbank erforderlich
+ INSERT – erforderlich, wenn der Prinzipal Daten in eine Tabelle einfügen muss
+ SELECT – erforderlich, wenn der Prinzipal Daten aus einer Tabelle auswählen muss

Weitere Informationen finden Sie in der [Berechtigungsreferenz für Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html) im AWS Lake Formation Entwicklerhandbuch.

# GetConfig
<a name="get-config"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | GetConfig | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  HOLEN/iceberg/v1/config  | 
| IAM-Aktion |  kleben: GetCatalog  | 
| Lake-Formation-Berechtigungen | Nicht zutreffend | 
| CloudTrail event |  kleben: GetCatalog  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L67 | 

****Überlegungen und Einschränkungen****
+ Der `warehouse` Abfrageparameter muss auf die AWS Glue Katalog-ID gesetzt werden. Wenn nicht festgelegt, wird der Stammkatalog im aktuellen Konto verwendet, um die Antwort zurückzugeben. Weitere Informationen finden Sie unter [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters).

# GetCatalog
<a name="get-catalog"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | GetCatalog | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  GET/extensions/v1/catalogs/\$1katalog\$1  | 
| IAM-Aktion |  Klebstoff: GetCatalog  | 
| Lake-Formation-Berechtigungen | DESCRIBE | 
| CloudTrail event |  kleben: GetCatalog  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L40 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.

# ListNamespaces
<a name="list-ns"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | ListNamespaces | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  GET/iceberg/v1/catalogs/\$1catalog\$1/namespaces  | 
| IAM-Aktion |  kleben: GetDatabase  | 
| Lake-Formation-Berechtigungen | ALL, DESCRIBE, SELECT | 
| CloudTrail event |  kleben: GetDatabase  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L205 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Es werden nur Namespaces der nächsten Ebene angezeigt. Um Namespaces auf tieferen Ebenen aufzulisten, geben Sie die ID des geschachtelten Katalogs im Katalogpfadparameter an.

# CreateNamespace
<a name="create-ns"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | CreateNamespace | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  POST/iceberg/v1/catalogs/\$1catalog\$1/namespaces  | 
| IAM-Aktion |  kleben: CreateDatabase  | 
| Lake-Formation-Berechtigungen | ALL, DESCRIBE, SELECT | 
| CloudTrail event |  kleben: CreateDatabase  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L256 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Es kann nur ein Namespace mit einer Ebene erstellt werden. Um einen Namespace mit mehreren Ebenen zu erstellen, müssen Sie jede Ebene iterativ erstellen und mithilfe des Katalogpfadparameters eine Verbindung mit der Ebene herstellen.

# StartCreateNamespaceTransaction
<a name="start-create-ns-transaction"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | StartCreateNamespaceTransaction | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  POST/extensions/v1/catalogs/\$1catalog\$1/namespaces  | 
| IAM-Aktion |  kleben: CreateDatabase  | 
| Lake-Formation-Berechtigungen | ALL, DESCRIBE, SELECT | 
| CloudTrail event |  kleben: CreateDatabase  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L256 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können nur einen Namespace mit einer Ebene erstellen. Um Namespaces mit mehreren Ebenen zu erstellen, müssen Sie jede Ebene iterativ erstellen und mithilfe des Katalogpfadparameters eine Verbindung mit der Ebene herstellen.
+ Die API ist asynchron und gibt eine Transaktions-ID zurück, die Sie für die Nachverfolgung mithilfe des `CheckTransactionStatus`-API-Aufrufs verwenden können.
+  Sie können diese API nur aufrufen, wenn der `GetCatalog`-API-Aufruf den Parameter `use-extensions=true` in der Antwort enthält. 

## LoadNamespaceMetadata
<a name="load-ns-metadata"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | LoadNamespaceMetadata | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  GET/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1  | 
| IAM-Aktion |  kleben: GetDatabase  | 
| Lake-Formation-Berechtigungen | ALL, DESCRIBE, SELECT | 
| CloudTrail event |  kleben: GetDatabase  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L302 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).

## UpdateNamespaceProperties
<a name="w2aac20c29c16c21c13"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | UpdateNamespaceProperties | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  BEITRAG/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/properties  | 
| IAM-Aktion |  kleben: UpdateDatabase  | 
| Lake-Formation-Berechtigungen | ALL, ALTER | 
| CloudTrail event |  kleben: UpdateDatabase  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L400 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).

# DeleteNamespace
<a name="delete-ns"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | DeleteNamespace | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  DELETE/iceberg/v1/catalogs/\$1catalog\$1/namespces/\$1ns\$1  | 
| IAM-Aktion |  kleben: DeleteDatabase  | 
| Lake-Formation-Berechtigungen | ALL, DROP | 
| CloudTrail event |  kleben: DeleteDatabase  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L365 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Wenn sich Objekte in der Datenbank befinden, schlägt der Vorgang fehl.
+ Die API ist asynchron und gibt eine Transaktions-ID zurück, die Sie für die Nachverfolgung mithilfe des `CheckTransactionStatus`-API-Aufrufs verwenden können.
+  Die API kann nur verwendet werden, wenn der `GetCatalog`-API-Aufruf als Antwort `use-extensions=true` angibt. 

# StartDeleteNamespaceTransaction
<a name="start-delete-ns-transaction"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | StartDeleteNamespaceTransaction | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  /extensions/v1/catalogs/\$1catalog\$1/namespces/\$1ns\$1 LÖSCHEN  | 
| IAM-Aktion |  kleben: DeleteDatabase  | 
| Lake-Formation-Berechtigungen | ALL, DROP | 
| CloudTrail event |  kleben: DeleteDatabase  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L85 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Wenn sich Objekte in der Datenbank befinden, schlägt der Vorgang fehl.
+ Die API ist asynchron und gibt eine Transaktions-ID zurück, die Sie für die Nachverfolgung mithilfe des `CheckTransactionStatus`-API-Aufrufs verwenden können.
+  Die API kann nur verwendet werden, wenn der `GetCatalog`-API-Aufruf als Antwort `use-extensions=true` angibt. 

# ListTables
<a name="list-tables"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | ListTables | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  HOLEN/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables  | 
| IAM-Aktion |  kleben: GetTables  | 
| Lake-Formation-Berechtigungen | ALL, SELECT, DESCRIBE | 
| CloudTrail event |  kleben: GetTables  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L463 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Alle Tabellen, auch wenn es sich nicht um Iceberg-Tabellen handelt, werden aufgelistet. Um festzustellen, ob eine Tabelle als Iceberg-Tabelle geladen werden kann oder nicht, rufen Sie den `LoadTable`-Vorgang auf.

# CreateTable
<a name="create-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | CreateTable | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  HOLEN/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables  | 
| IAM-Aktion |  kleben: CreateTable  | 
| Lake-Formation-Berechtigungen | ALL, CREATE\$1TABLE | 
| CloudTrail event |  kleben: CreateTable  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L497 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ `CreateTable` mit Staging wird nicht unterstützt. Wenn der Abfrageparameter `stageCreate` angegeben ist, schlägt der Vorgang fehl. Das bedeutet, dass ein Vorgang wie `CREATE TABLE AS SELECT` nicht unterstützt wird und Sie können eine Kombination aus `CREATE TABLE` und `INSERT INTO` verwenden muss, um das Problem zu umgehen.
+ Der `CreateTable`-API-Vorgang unterstützt die Option `state-create = TRUE` nicht.

# StartCreateTableTransaction
<a name="start-create-table-transaction"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | CreateTable | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  POST/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables  | 
| IAM-Aktion |  kleben: CreateTable  | 
| Lake-Formation-Berechtigungen | ALL, CREATE\$1TABLE | 
| CloudTrail event |  kleben: CreateTable  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L107 | 

****Überlegungen und Einschränkungen****
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ `CreateTable` mit Staging wird nicht unterstützt. Wenn der `stageCreate` Abfrageparameter angegeben ist, schlägt der Vorgang fehl. Das bedeutet, dass ein Vorgang wie `CREATE TABLE AS SELECT` nicht unterstützt wird und der Benutzer eine Kombination aus `CREATE TABLE` und `INSERT INTO` verwenden muss, um das Problem zu umgehen.
+ Die API ist asynchron und gibt eine Transaktions-ID zurück, die Sie für die Nachverfolgung mithilfe des `CheckTransactionStatus`-API-Aufrufs verwenden können.
+  Die API kann nur verwendet werden, wenn der `GetCatalog`-API-Aufruf als Antwort `use-extensions=true` angibt. 

# LoadTable
<a name="load-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | LoadTable | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  GET/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  Klebstoff: GetTable  | 
| Lake-Formation-Berechtigungen | ALL, SELECT, DESCRIBE | 
| CloudTrail Ereignis |  kleben: GetTable  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L616 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ `CreateTable` mit Staging wird nicht unterstützt. Wenn der `stageCreate` Abfrageparameter angegeben ist, schlägt der Vorgang fehl. Das bedeutet, dass ein Vorgang wie `CREATE TABLE AS SELECT` nicht unterstützt wird und der Benutzer eine Kombination aus `CREATE TABLE` und `INSERT INTO` verwenden muss, um das Problem zu umgehen.
+ Die API ist asynchron und gibt eine Transaktions-ID zurück, die Sie für die Nachverfolgung mithilfe des `CheckTransactionStatus`-API-Aufrufs verwenden können.
+  Die API kann nur verwendet werden, wenn der `GetCatalog`-API-Aufruf als Antwort `use-extensions=true` angibt. 

# ExtendedLoadTable
<a name="extended-load-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | LoadTable | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  GET/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  Klebstoff: GetTable  | 
| Lake-Formation-Berechtigungen | ALL, SELECT, DESCRIBE | 
| CloudTrail Ereignis |  kleben: GetTable  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L134 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Für den Abfrageparameter für Snapshots wird nur der `all`-Modus unterstützt.
+ Im Vergleich zur `LoadTable`-API unterscheidet sich die `ExtendedLoadTable`-API in folgenden Punkten:
  +  Erzwingt nicht unbedingt, dass alle Felder verfügbar sind.
  + Stellt die folgenden zusätzlichen Parameter im Konfigurationsfeld der Antwort bereit:   
**Zusätzliche Parameter**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/glue/latest/dg/extended-load-table.html)

# PreplanTable
<a name="preplan-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | PreplanTable | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  BEITRAG/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1/preplan  | 
| IAM-Aktion |  kleben: GetTable  | 
| Lake-Formation-Berechtigungen | ALL, SELECT, DESCRIBE | 
| CloudTrail Ereignis |  kleben: GetTable  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L211 | 

**Überlegungen**
+ Der Katalogpfadparameter sollte dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Der Aufrufer dieser API muss immer anhand des Seitentokens ermitteln, ob noch Ergebnisse abgerufen werden müssen. Eine Antwort mit leerem Seitenelement, aber einem Paginierungstoken ist möglich, wenn die Serverseite noch verarbeitet, aber in der angegebenen Antwortzeit kein Ergebnis erzeugen kann.
+  Sie können diese API nur verwenden, wenn `aws.server-side-capabilities.scan-planning=true` in der `ExtendedLoadTable`-API-Antwort enthalten ist. 

# PlanTable
<a name="plan-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | PlanTable | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  BEITRAG/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1table\$1/plan  | 
| IAM-Aktion |  kleben: GetTable  | 
| Lake-Formation-Berechtigungen | ALL, SELECT, DESCRIBE | 
| CloudTrail Ereignis |  kleben: GetTable  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L243 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Der Aufrufer dieser API muss immer anhand des Seitentokens ermitteln, ob noch Ergebnisse abgerufen werden müssen. Eine Antwort mit leerem Seitenelement, aber einem Paginierungstoken ist möglich, wenn die Serverseite noch verarbeitet, aber in der angegebenen Antwortzeit kein Ergebnis erzeugen kann.
+  Sie können diese API nur verwenden, wenn `aws.server-side-capabilities.scan-planning=true` in der `ExtendedLoadTable`-API-Antwort enthalten ist. 

# TableExists
<a name="table-exists"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | TableExists | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  HEAD/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  Klebstoff: GetTable  | 
| Lake-Formation-Berechtigungen | ALL, SELECT, DESCRIBE | 
| CloudTrail Ereignis |  kleben: GetTable  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L833 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).

# UpdateTable
<a name="update-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | UpdateTable | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  POST/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  kleben: UpdateTable  | 
| Lake-Formation-Berechtigungen | ALL, ALTER | 
| CloudTrail Ereignis |  kleben: UpdateTable  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L677 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).

# StartUpdateTableTransaction
<a name="start-update-table-transaction"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | StartUpdateTableTransaction | 
| Typ | AWS Glue Erweiterungs-API | 
| REST-Pfad |  POST/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  Klebstoff: UpdateTable  | 
| Lake-Formation-Berechtigungen |  ALL, ALTER  | 
| CloudTrail Ereignis |  kleben: UpdateTable  | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L154 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Die API ist asynchron und gibt eine Transaktions-ID zurück, die Sie für die Nachverfolgung mithilfe des `CheckTransactionStatus`-API-Aufrufs verwenden können.
+  Ein `RenamTable`-Vorgang kann auch über diese API ausgeführt werden. In diesem Fall muss der Aufrufer auch die Glue: - CreateTable oder LakeFormation CREATE\$1TABLE-Berechtigung haben, damit die Tabelle umbenannt werden kann. 
+  Sie können diese API nur verwenden, wenn `aws.server-side-capabilities.scan-planning=true` in der `ExtendedLoadTable`-API-Antwort enthalten ist. 

# DeleteTable
<a name="delete-table"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | DeleteTable | 
| Typ |  REST-Katalog-API von Iceberg  | 
| REST-Pfad |  DELETE/iceberg/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  Klebstoff: DeleteTable  | 
| Lake-Formation-Berechtigungen | ALL, DROP | 
| CloudTrail Ereignis |  kleben: DeleteTable  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L793 | 

**Überlegungen**
+ Der Katalogpfadparameter sollte dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ Der `DeleteTable`-API-Vorgang unterstützt eine Bereinigungsoption. Wenn die Bereinigungsoption auf `true` festgelegt ist, werden die Tabellendaten gelöscht, andernfalls werden keine Daten gelöscht. Bei Tabellen in Amazon S3 löscht der Vorgang keine Tabellendaten. Der Vorgang schlägt bei `purge = TRUE,` fehl, wenn die Tabelle in Amazon S3 gespeichert ist. 

  Bei Tabellen, die im verwalteten Amazon-Redshift-Speicher gespeichert sind, löscht der Vorgang Tabellendaten, ähnlich dem `DROP TABLE`-Verhalten in Amazon Redshift. Der Vorgang schlägt bei `purge = FALSE` fehl, wenn die Tabelle in Amazon Redshift gespeichert ist.
+ `purgeRequest=true` wird nicht unterstützt. 

# StartDeleteTableTransaction
<a name="start-delete-table-transaction"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | StartDeleteTableTransaction | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  LÖSCHEN/extensions/v1/catalogs/\$1catalog\$1/namespaces/\$1ns\$1/tables/\$1Tabelle\$1  | 
| IAM-Aktion |  kleben: DeleteTable  | 
| Lake-Formation-Berechtigungen | ALL, DROP | 
| CloudTrail Ereignis |  kleben: DeleteTable  | 
| OpenAPI-Definition | https://github.com/apache/iceberg/blob/apache-iceberg-1.6.1/open-api/rest- catalog-open-api .yaml \$1L793 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.
+ Sie können im REST-Pfadparameter nur einen einstufigen Namespace angeben. Weitere Informationen finden Sie im Abschnitt [Namespace-Pfadparameter](connect-glu-iceberg-rest.md#ns-path-param).
+ `purgeRequest=false` wird nicht unterstützt. 
+  Die API ist asynchron und gibt eine Transaktions-ID zurück, die über `CheckTransactionStatus` nachverfolgt werden kann. 

# CheckTransactionStatus
<a name="check-transaction-status"></a>


**Allgemeine Informationen**  

|  |  | 
| --- |--- |
| Vorgangsname | CheckTransactionStatus | 
| Typ |  AWS Glue Erweiterungs-API  | 
| REST-Pfad |  POST/extensions/v1/transactions/status  | 
| IAM-Aktion |  Dieselbe Berechtigung wie die Aktion, die die Transaktion initiiert  | 
| Lake-Formation-Berechtigungen | Dieselbe Berechtigung wie die Aktion, die die Transaktion initiiert | 
| OpenAPI-Definition | https://github.com/awslabs/glue-extensions-for-iceberg/blob/main/glue-Erweiterungen-api.yaml \$1L273 | 

**Überlegungen**
+ Der Katalogpfadparameter muss dem im Abschnitt [Präfix- und Katalogpfadparameter](connect-glu-iceberg-rest.md#prefix-catalog-path-parameters) beschriebenen Stil entsprechen.

# Herstellen einer Verbindung mit Datenkatalog über eine eigenständige Spark-Anwendung
<a name="connect-gludc-spark"></a>

Sie können mit einem Apache-Iceberg-Connector über eine eigenständige Anwendung eine Verbindung mit dem Datenkatalog herstellen. 

1. Erstellen Sie eine IAM-Rolle für die Spark-Anwendung.

1. Connect Sie mithilfe des AWS Glue Iceberg-Connectors eine Verbindung zum Iceberg Rest-Endpunkt her.

   ```
   # configure your application. Refer to https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html for best practices on configuring environment variables.
   export AWS_ACCESS_KEY_ID=$(aws configure get appUser.aws_access_key_id)
   export AWS_SECRET_ACCESS_KEY=$(aws configure get appUser.aws_secret_access_key)
   export AWS_SESSION_TOKEN=$(aws configure get appUser.aws_secret_token)
   
   export AWS_REGION=us-east-1
   export REGION=us-east-1
   export AWS_ACCOUNT_ID = {specify your aws account id here}
   
   ~/spark-3.5.3-bin-hadoop3/bin/spark-shell \
       --packages org.apache.iceberg:iceberg-spark-runtime-3.4_2.12:1.6.0 \
       --conf "spark.sql.extensions=org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions" \
       --conf "spark.sql.defaultCatalog=spark_catalog" \
       --conf "spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkCatalog" \
       --conf "spark.sql.catalog.spark_catalog.type=rest" \
       --conf "spark.sql.catalog.spark_catalog.uri=https://glue.us-east-1.amazonaws.com/iceberg" \
       --conf "spark.sql.catalog.spark_catalog.warehouse = {AWS_ACCOUNT_ID}" \
       --conf "spark.sql.catalog.spark_catalog.rest.sigv4-enabled=true" \
       --conf "spark.sql.catalog.spark_catalog.rest.signing-name=glue" \
       --conf "spark.sql.catalog.spark_catalog.rest.signing-region=us-east-1" \
       --conf "spark.sql.catalog.spark_catalog.io-impl=org.apache.iceberg.aws.s3.S3FileIO" \
       --conf "spark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.SimpleAWSCredentialProvider"
   ```

1. Fragen Sie die Daten im Datenkatalog ab.

   ```
   spark.sql("create database myicebergdb").show()
   spark.sql("""CREATE TABLE myicebergdb.mytbl (name string) USING iceberg location 's3://bucket_name/mytbl'""")
   spark.sql("insert into myicebergdb.mytbl values('demo') ").show()
   ```

# Zuordnen von Daten zwischen Amazon Redshift und Apache Iceberg
<a name="data-mapping-rs-iceberg"></a>

Redshift und Iceberg unterstützen verschiedene Datentypen. Die folgende Kompatibilitätsmatrix gibt einen Überblick über die Unterstützung und Einschränkungen bei der Zuordnung von Daten zwischen diesen beiden Datensystemen. Weitere Informationen zu den unterstützten Datentypen finden Sie in den jeweiligen Datensystemen unter [Amazon-Redshift-Datentypen](https://docs.aws.amazon.com/redshift/latest/dg/c_Supported_data_types.html) und [Apache-Iceberg-Tabellenspezifikationen](https://iceberg.apache.org/spec/#primitive-types).


| Redshift-Datentyp | Aliase | Iceberg-Datentyp | 
| --- | --- | --- | 
| SMALLINT | INT2 | int | 
| INTEGER | INT, INT4 | int | 
| BIGINT | INT8 | long | 
| DECIMAL | NUMERIC | Dezimalwert | 
| REAL | FLOAT4 | float | 
| REAL | FLOAT4 | float | 
| DOUBLE PRECISION | FLOAT8, SCHWEBEN | double | 
| CHAR | CHARACTER, NCHAR | Zeichenfolge | 
| VARCHAR | CHARACTER VARYING, NVARCHAR | Zeichenfolge | 
| BPCHAR |  | Zeichenfolge | 
| TEXT |  | Zeichenfolge | 
| DATE |  | date | 
| TIME | TIME WITHOUT TIMEZONE | time | 
| TIME | TIME WITH TIMEZONE | Nicht unterstützt | 
| TIMESTAMP (ZEITSTEMPEL) | TIMESTAMP WITHOUT TIMEZONE | TIMESTAMP (ZEITSTEMPEL) | 
| TIMESTAMPZ | TIMESTAMP WITH TIMEZONE | TIMESTAMPZ | 
| INTERVAL YEAR TO MONTH |  | Nicht unterstützt | 
| INTERVAL DAY TO SECOND |  | Nicht unterstützt | 
| BOOLEAN | BOOL | bool | 
| HLLSKETCH |  | Nicht unterstützt | 
| SUPER |  | Nicht unterstützt | 
| VARBYTE | VARBINARY, BINARY VARYING | Binary | 
| GEOMETRY |  | Nicht unterstützt | 
| GEOGRAPHY |  | Nicht unterstützt | 

# Überlegungen und Einschränkungen bei der Verwendung von AWS Glue Iceberg REST Catalog APIs
<a name="limitation-glue-iceberg-rest-api"></a>

Im Folgenden werden die Überlegungen und Einschränkungen bei der Verwendung des Betriebsverhaltens von Data Definition Language (DDL) für Apache-Iceberg-REST-Kataloge beschrieben.

**Überlegungen**
+  **`RenameTable`-API-Verhalten** – Der `RenameTable`-Vorgang wird in Tabellen in Amazon Redshift unterstützt, nicht jedoch in Amazon S3. 
+  **DDL-Vorgänge für Namespaces und Tabellen in Amazon Redshift** – Erstellungs-, Aktualisierungs- und Löschvorgänge für Namespaces und Tabellen in Amazon Redshift sind asynchrone Vorgänge, da sie davon abhängen, wann die von Amazon Redshift verwaltete Arbeitsgruppe verfügbar ist und ob eine konfliktreiche DDL- und DML-Transaktion ausgeführt wird und die Vorgänge auf eine Sperre warten und dann versuchen müssen, die Änderungen zu übernehmen. 

**Einschränkungen**
+  Ansichten APIs in der Apache Iceberg REST-Spezifikation werden im AWS Glue Iceberg REST Catalog nicht unterstützt. 