

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Externe Schemata in Amazon Redshift Spectrum
<a name="c-spectrum-external-schemas"></a>

In diesem Thema wird beschrieben, wie Sie externe Schemata mit Redshift Spectrum erstellen und verwenden. Externe Schemata sind Sammlungen von Tabellen, die Sie als Verweise für den Zugriff auf Daten außerhalb Ihres Amazon-Redshift-Clusters verwenden. Diese Tabellen enthalten Metadaten zu den externen Daten, die Redshift Spectrum liest.

Alle externen Tabellen müssen in einem externen Schema erstellt werden, das Sie mit einer [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md)-Anweisung erstellen. 

**Anmerkung**  
Einige Anwendungen verwenden die Begriffe *Datenbank* und *Schema* mit gleicher Bedeutung. In Amazon Redshift verwenden wir den Begriff *Schema*. 

Ein externes Amazon-Redshift-Schema verweist auf eine externe Datenbank in einem externen Datenkatalog. Sie können die externe Datenbank in Amazon Redshift, [in Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/catalog.html), in [AWS Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/components-overview.html#data-catalog-intro) oder in einem Apache-Hive-Metastore, wie etwa [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html), erstellen. Wenn Sie eine externe Datenbank in Amazon Redshift erstellen, befindet sich diese im Athena-Datenkatalog. Zur Erstellung einer Datenbank in einem Hive-Metastore müssen Sie sie in Ihrer Hive-Anwendung erstellen.

Amazon Redshift benötigt in Ihrem Namen die Autorisierung zum Zugriff auf den Datenkatalog in Athena und die Datendateien in Amazon S3. Um diese Autorisierung bereitzustellen, erstellen Sie zunächst eine AWS Identity and Access Management (IAM-) Rolle. Dann fügen Sie die Rolle Ihrem Cluster hinzu und stellen den Amazon-Ressourcennamen (ARN) für die Rolle in der `CREATE EXTERNAL SCHEMA`-Anweisung von Amazon Redshift bereit. Weitere Informationen zur -Autorisierung finden Sie unter [IAM-Richtlinien für Amazon Redshift Spectrum](c-spectrum-iam-policies.md).

Um eine externe Datenbank gleichzeitig mit der Erstellung eines externen Schemas zu erstellen, geben Sie `FROM DATA CATALOG` an, und schließen Sie die `CREATE EXTERNAL DATABASE`-Klausel in Ihre `CREATE EXTERNAL SCHEMA`-Anweisung ein. 

Das folgende Beispiel erstellt ein externes Schema mit der Bezeichnung `spectrum_schema` unter Verwendung der externen Datenbank `spectrum_db`.

```
create external schema spectrum_schema from data catalog 
database 'spectrum_db' 
iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole'
create external database if not exists;
```

Wenn Sie Ihren Datenkatalog mit Athena verwalten, geben Sie den Athena-Datenbanknamen und die AWS -Region an, in der sich der Athena-Datenkatalog befindet. 

Das folgende Beispiel erstellt ein externes Schema mit der Standarddatenbank `sampledb` im Athena-Datenkatalog.

```
create external schema athena_schema from data catalog 
database 'sampledb' 
iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole' 
region 'us-east-2';
```

**Anmerkung**  
Der `region` Parameter bezieht sich auf die AWS Region, in der sich der Athena-Datenkatalog befindet, nicht auf den Speicherort der Datendateien in Amazon S3.

Wenn Sie Ihren Datenkatalog mit einem Hive-Metastore, etwa mit Amazon EMR, verwalten, müssen Ihre Sicherheitsgruppen so konfiguriert sein, dass der Datenverkehr zwischen den Clustern möglich ist. 

Geben Sie in der CREATE EXTERNAL SCHEMA-Anweisung `FROM HIVE METASTORE` an, und schließen Sie die URI und die Portnummer des Metastores ein. Im folgenden Beispiel wird ein externes Schema mittels einer Hive-Metastore-Datenbank namens erstellt `hive_db`.

```
create external schema hive_schema
from hive metastore
database 'hive_db'
uri '172.10.10.10' port 99
iam_role 'arn:aws:iam::123456789012:role/MySpectrumRole'
```

Um die externen Schemata für Ihren Cluster anzuzeigen, fragen Sie die Katalogtabelle PG\$1EXTERNAL\$1SCHEMA oder die Ansicht SVV\$1EXTERNAL\$1SCHEMAS ab. Das folgende Beispiel fragt SVV\$1EXTERNAL\$1SCHEMAS ab, wobei PG\$1EXTERNAL\$1SCHEMA und PG\$1NAMESPACE verbunden werden.

```
select * from svv_external_schemas
```

Für die vollständige Befehlssyntax und Beispiele vgl. [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md).

## Arbeiten mit externen Katalogen in Amazon Redshift Spectrum
<a name="c-spectrum-external-catalogs"></a>

Die Metadaten für externe Amazon-Redshift-Spectrum-Datenbanken und externe Tabellen werden in einem externen Datenkatalog gespeichert. Standardmäßig werden Redshift-Spectrum-Metadaten in einem Athena-Datenkatalog gespeichert. Sie können Redshift-Spectrum-Datenbanken und -Tabellen in Ihrer Athena-Konsole anzeigen und verwalten. 

Sie können externe Datenbanken und externe Tabellen auch mit der Hive-Data-Definition-Language (DDL) unter Verwendung von Athena oder eines Hive-Metastores wie Amazon EMR erstellen und verwalten. 

**Anmerkung**  
Wir empfehlen die Verwendung von Amazon Redshift zur Erstellung und Verwaltung Ihrer externen Redshift-Spectrum-Datenbanken und externer Tabellen.

### Redshift Spectrum-Datenbanken in Athena anzeigen und AWS Glue
<a name="c-spectrum-athena-external-catalogs"></a>

Sie können eine externe Datenbank erstellen, indem Sie die Klausel CREATE EXTERNAL DATABASE IF NOT EXISTS in Ihre CREATE EXTERNAL SCHEMA-Anweisung aufnehmen. In solchen Fällen werden die Metadaten der externen Datenbank in Ihrem Datenkatalog gespeichert. Die Metadaten für externe Tabellen, die Sie mit Qualifizierung durch das externe Schema erstellen, werden ebenfalls in Ihrem -Datenkatalog gespeichert. 

Athena und AWS Glue pflegen einen Datenkatalog für jeden unterstützten AWS-Region. Um Tabellenmetadaten anzuzeigen, melden Sie sich bei Athena oder der AWS Glue Konsole an. Wählen Sie in Athena **Data sources**, your AWS Glue, und zeigen Sie dann die Details Ihrer Datenbank an. Wählen Sie in AWS Glue**Datenbanken**, Ihre externe Datenbank, und zeigen Sie dann die Details Ihrer Datenbank an. 

Wenn Sie Ihre externen Tabellen mit Athena erstellen und verwalten, registrieren Sie die Datenbank mit CREATE EXTERNAL SCHEMA. Beispielsweise registriert der folgende Befehl die Athena-Datenbank mit der Bezeichnung `sampledb`.

```
create external schema athena_sample
from data catalog
database 'sampledb'
iam_role 'arn:aws:iam::123456789012:role/mySpectrumRole'
region 'us-east-1';
```

Wenn Sie die Systemansicht SVV\$1EXTERNAL\$1TABLES abfragen, sehen Sie Tabellen in der Athena-`sampledb`-Datenbank und die Tabellen, die Sie in Amazon Redshift erstellt haben.

```
select * from svv_external_tables;
```

```
schemaname    | tablename        | location                                               
--------------+------------------+--------------------------------------------------------
athena_sample | elb_logs         | s3://athena-examples/elb/plaintext           
athena_sample | lineitem_1t_csv  | s3://myspectrum/tpch/1000/lineitem_csv                
athena_sample | lineitem_1t_part | s3://myspectrum/tpch/1000/lineitem_partition          
spectrum      | sales            | s3://redshift-downloads/tickit/spectrum/sales          
spectrum      | sales_part       | s3://redshift-downloads/tickit/spectrum/sales_part
```

### Registrieren einer Apache Hive-Metastore-Datenbank
<a name="c-spectrum-hive-metastore"></a>

Wenn Sie externe Tabellen in einem Apache Hive-Metastore erstellen, können Sie diese Tabellen mit CREATE EXTERNAL SCHEMA in Redshift Spectrum registrieren. 

Geben Sie in der CREATE EXTERNAL SCHEMA-Anweisung die Klausel FROM HIVE METASTORE sowie die URI und die Portnummer des Hive-Metastores an. Die IAM-Rolle muss die Berechtigung zum Zugriff auf Amazon S3 enthalten, Athena-Berechtigungen sind jedoch nicht erforderlich. Das folgende Beispiel registriert einen Hive-Metastore. 

```
create external schema if not exists hive_schema
from hive metastore
database 'hive_database'
uri 'ip-10-0-111-111.us-west-2.compute.internal' port 9083 
iam_role 'arn:aws:iam::123456789012:role/mySpectrumRole';
```

### Zugriff Ihres Amazon-Redshift-Clusters auf Ihren Amazon-EMR-Cluster
<a name="c-spectrum-enabling-emr-access"></a>

Wenn sich Ihr Hive-Metastore in Amazon EMR befindet, müssen Sie Ihrem Amazon-Redshift-Cluster den Zugriff auf Ihren Amazon-Redshift-Cluster gewähren. Dazu erstellen Sie eine Amazon-EC2-Sicherheitsgruppe. Sie lassen dann den gesamten eingehenden Datenverkehr an die EC2-Sicherheitsgruppe aus der Sicherheitsgruppe Ihres Amazon-Redshift-Clusters und der Sicherheitsgruppe Ihres Amazon-EMR-Clusters zu. Dann fügen Sie die EC2-Sicherheitsgruppe Ihrem Amazon-Redshift-Cluster und Ihrem Amazon-EMR-Cluster hinzu.

**Aufrufen des Namens der Sicherheitsgruppe Ihres Amazon-Redshift-Clusters**

Um die Sicherheitsgruppe anzuzeigen, gehen Sie wie folgt vor:

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Redshift Redshift-Konsole unter [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. Wählen Sie im Navigationsmenü die Option **Clusters** (Cluster) und anschließend in der Liste den gewünschten Cluster aus, um die Details zu dem Cluster zu öffnen.

1. Wählen Sie **Properties** (Eigenschaften) aus und sehen Sie sich den Abschnitt **Network and security** (Netzwerk und Sicherheit) an. 

1. Machen Sie Ihre Sicherheitsgruppe in **VPC Security Group** (VPC-Sicherheitsgruppe) ausfindig und notieren Sie sie. 

****

**Aufrufen des Namens der Amazon-EMR-Hauptknoten-Sicherheitsgruppe**

1. Öffnen Sie Ihren Amazon-EMR-Cluster. Weitere Informationen finden Sie unter [Verwenden von Sicherheitskonfigurationen zur Einrichtung der Clustersicherheit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) im *Amazon-EMR-Verwaltungshandbuch*

1. Notieren Sie sich unter **Security and access** (Sicherheit und Zugriff) den Namen der Amazon-EMR-Hauptknoten-Sicherheitsgruppe.  
![\[Ein Screenshot, der den Namen der Amazon-EMR-Hauptknoten-Sicherheitsgruppe in der Amazon-EMR-Konsole hervorhebt.\]](http://docs.aws.amazon.com/de_de/redshift/latest/dg/images/spectrum-emr-security-groups.png)

**So erstellen oder modifizieren Sie eine Amazon-EC2-Sicherheitsgruppe, um eine Verbindung zwischen Amazon Redshift und Amazon EMR zuzulassen**

1. Wählen Sie im Amazon-EC2-Dashboard **Security Groups** (Sicherheitsgruppen) aus. Weitere Informationen finden Sie unter [Sicherheitsgruppenregeln](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html) im *Amazon-EC2-Benutzerhandbuch*. 

1. Wählen Sie **Create security group (Sicherheitsgruppe erstellen)** aus. 

1. Wenn Sie VPC verwenden, wählen Sie die VPC aus, in der sich sowohl Ihr Amazon-Redshift- als auch Ihr Amazon-EMR-Cluster befinden. 

1. Fügen Sie eine eingehende Regel hinzu. 

   1. Wählen Sie für **Type (Typ)** die Option **Custom TCP (Benutzerdefiniertes TCP)** aus. 

   1. Wählen Sie für **Source (Quelle)** die Option **Custom (Benutzerdefiniert)** aus. 

   1. Geben Sie den Namen Ihrer Amazon-Redshift-Sicherheitsgruppe ein. 

1. Fügen Sie eine weitere eingehende Regel hinzu. 

   1. Wählen Sie unter **Type** die Option **TCP** aus. 

   1. Geben Sie für **Port Range (Portbereich)** **9083** ein.
**Anmerkung**  
Der Standardport für einen EMR-HMS ist 9083. Wenn Ihr HMS einen anderen Port verwendet, geben Sie diesen in der eingehenden Regel und der Definition des externen Schemas an. 

   1. Wählen Sie für **Source (Quelle)** die Option **Custom (Benutzerdefiniert)** aus. 

1. Geben Sie einen Namen und eine Beschreibung für die Sicherheitsgruppe ein. 

1. Wählen Sie **Create security group (Sicherheitsgruppe erstellen)** aus. 

**So fügen Sie die Amazon-EC2-Sicherheitsgruppe, die Sie im vorherigen Verfahren erstellt haben, Ihrem Amazon-Redshift-Cluster hinzu**

1. Wählen Sie Ihren Cluster in Amazon Redshift aus. 

1. Wählen Sie **Properties (Eigenschaften)**. 

1. Rufen Sie die **Network and security settings** (Netzwerk- und Sicherheitseinstellungen) auf und wählen Sie **Edit** (Bearbeiten) aus. 

1. Wählen Sie in **VPC Security Group** (VPC-Sicherheitsgruppe) den Namen der neuen Sicherheitsgruppe aus. 

1. Wählen Sie **Save Changes** (Änderungen speichern). 

**So fügen Sie die Amazon-EC2-Sicherheitsgruppe zu Ihrem Amazon-EMR-Cluster hinzu**

1. Wählen Sie Ihren Cluster in Amazon EMR aus. Weitere Informationen finden Sie unter [Verwenden von Sicherheitskonfigurationen zur Einrichtung der Clustersicherheit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) im *Amazon-EMR-Verwaltungshandbuch*

1. Wählen Sie unter **Hardware** den Link für den Master-Knoten. 

1. Wählen Sie den Link in der Spalte **EC2 instance ID** (EC2-Instance-ID).   
![\[Ein Screenshot, der einen Amazon-EC2-Instance-ID-Wert in der Amazon-EMR-Konsole hervorhebt.\]](http://docs.aws.amazon.com/de_de/redshift/latest/dg/images/spectrum-emr-add-security-group.png)

1. Wählen Sie für **Actions** (Aktionen) die Option **Security** (Sicherheit), **Change security groups** (Sicherheitsgruppen ändern) aus. 

1. Wählen Sie unter **Associated sercurity groups** (Zugehörige Sicherheitsgruppen) die neue Sicherheitsgruppe und dann **Add security group** (Sicherheitsgruppe hinzufügen) aus. 

1. Wählen Sie **Speichern**. 