

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.

# Verbundabfragen ausführen
<a name="running-federated-queries"></a>

Wenn Sie einen oder mehrere Daten-Connector konfiguriert und in Ihrem Konto bereitgestellt haben, können Sie diese in Ihren Athena-Abfragen verwenden. 

## Abfragen einer einzelnen Datenquelle
<a name="running-federated-queries-single-data-source"></a>

In den Beispielen in diesem Abschnitt wird davon ausgegangen, dass Sie den [Amazon Athena Athena-Anschluss CloudWatch](connectors-cloudwatch.md) für Ihr Konto konfiguriert und bereitgestellt haben. Sie verwenden den gleichen Ansatz für Abfragen für andere Connectors.

**Um eine Athena-Abfrage zu erstellen, die den CloudWatch Konnektor verwendet**

1. Öffnen Sie die Athena-Konsole unter [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Erstellen Sie im Athena-Abfrage-Editor eine SQL-Abfrage mit der folgenden Syntax in der `FROM`-Klausel.

   ```
   MyCloudwatchCatalog.database_name.table_name       
   ```

### Beispiele
<a name="running-federated-queries-single-data-source-examples"></a>

Im folgenden Beispiel wird der CloudWatch Athena-Connector verwendet, um eine Verbindung mit der `all_log_streams` Ansicht in der [Gruppe `/var/ecommerce-engine/order-processor` CloudWatch Logs Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) herzustellen. Die Ansicht `all_log_streams` ist eine Ansicht aller Protokollstreams in der Protokollgruppe. Die Beispielabfrage begrenzt die Anzahl der zurückgegebenen Zeilen auf 100.

```
SELECT * 
FROM "MyCloudwatchCatalog"."/var/ecommerce-engine/order-processor".all_log_streams 
LIMIT 100;
```

Im folgenden Beispiel werden Informationen aus derselben Ansicht wie im vorherigen Beispiel analysiert. Im Beispiel werden die Bestell-ID und die Protokollebene extrahiert und alle Nachrichten mit der Ebene `INFO` herausgefiltert.

```
SELECT 
    log_stream as ec2_instance, 
    Regexp_extract(message '.*orderId=(\d+) .*', 1) AS orderId, 
    message AS order_processor_log, 
    Regexp_extract(message, '(.*):.*', 1) AS log_level 
FROM MyCloudwatchCatalog."/var/ecommerce-engine/order-processor".all_log_streams 
WHERE Regexp_extract(message, '(.*):.*', 1) != 'INFO'
```

## Abfragen mehrerer Datenquellen
<a name="running-federated-queries-multiple-sources"></a>

Stellen Sie sich als komplexeres Beispiel ein E-Commerce-Unternehmen vor, das die folgenden Datenquellen verwendet, um Daten zu Kundenkäufen zu speichern:
+ [Amazon RDS für MySQL](https://aws.amazon.com/rds/mysql/) zum Speichern von Produktkatalogdaten
+ [Amazon DocumentDB](https://aws.amazon.com/documentdb/) zur Speicherung von Kundenkontodaten wie E-Mail- und Versandadressen
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) zum Speichern von Versand- und Tracking-Daten von Bestellungen

Stellen Sie sich vor, ein Datenanalyst für diese E-Commerce-Anwendung erfährt, dass die Versandzeit in einigen Regionen durch die lokalen Wetterbedingungen beeinflusst wurde. Der Analyst möchte wissen, wie viele Bestellungen verzögert sind, wo sich die betroffenen Kunden befinden und welche Produkte am stärksten betroffen sind. Anstatt die Informationsquellen separat zu untersuchen, verwendet der Analyst Athena, um die Daten in einer einzigen Verbundabfrage zusammenzuführen.

**Example**  

```
SELECT 
     t2.product_name AS product, 
     t2.product_category AS category, 
     t3.customer_region AS region, 
     count(t1.order_id) AS impacted_orders 
FROM my_dynamodb.default.orders t1 
JOIN my_mysql.products.catalog t2 ON t1.product_id = t2.product_id 
JOIN my_documentdb.default.customers t3 ON t1.customer_id = t3.customer_id 
WHERE 
     t1.order_status = 'PENDING'
     AND t1.order_date between '2022-01-01' AND '2022-01-05' 
GROUP BY 1, 2, 3 
ORDER BY 4 DESC
```

## Verbundansichten abfragen
<a name="running-federated-queries-federated-views"></a>

Bei der Abfrage von Verbundquellen können Sie Ansichten verwenden, um die zugrunde liegenden Datenquellen zu verschleiern oder komplexe Verknüpfungen vor anderen Analysten zu verbergen, die die Daten abfragen.

### Überlegungen und Einschränkungen
<a name="running-federated-queries-federated-views-considerations"></a>
+ Für Verbundansichten ist Athena-Engine-Version 3 erforderlich. 
+ Verbundene Ansichten werden in AWS Glue, nicht in der zugrunde liegenden Datenquelle gespeichert.
+ Verbund-Ansichten werden für Datenquellen, die [als Glue-Datenkatalog registriert](register-connection-as-gdc.md) sind, nicht unterstützt.
+ Ansichten, die mit Verbundkatalogen erstellt wurden, müssen die Syntax voll qualifizierter Namen verwenden, wie im folgenden Beispiel:

  ```
  "ddbcatalog"."default"."customers"
  ```
+ Benutzer, die Abfragen an Verbundquellen ausführen, müssen über die Berechtigung verfügen, die Verbundquellen abzufragen.
+ Die `athena:GetDataCatalog`-Berechtigung ist für Verbundansichten erforderlich. Weitere Informationen finden Sie unter [Zugriff auf Athena Federated Query zulassen: Beispiel-Richtlinien](federated-query-iam-access.md).

### Beispiele
<a name="running-federated-queries-federated-views-examples"></a>

Im folgenden Beispiel wird eine Ansicht mit dem Namen `customers` auf Daten erstellt, die in einer Verbunddatenquelle gespeichert sind.

**Example**  

```
CREATE VIEW customers AS
SELECT *
FROM my_federated_source.default.table
```

Die folgende Beispielabfrage zeigt eine Abfrage, die auf die `customers`-Ansicht statt auf die zugrunde liegende Verbunddatenquelle verweist.

**Example**  

```
SELECT id, SUM(order_amount)
FROM customers
GROUP by 1
ORDER by 2 DESC
LIMIT 50
```

Das folgende Beispiel erstellt eine Ansicht namens `order_summary`, die Daten aus einer Verbunddatenquelle und aus einer Amazon-S3-Datenquelle kombiniert. Aus der Verbundquelle, die bereits in Athena erstellt wurde, verwendet die Ansicht die Tabellen `person` und `profile`. In Amazon S3 verwendet die Ansicht die `purchase`- und `payment`-Tabellen. Um auf Amazon S3 zu verweisen, verwendet die Anweisung das Schlüsselwort `awsdatacatalog`. Beachten Sie, dass die Verbunddatenquelle die Syntax für vollqualifizierte Namen verwendet. *federated\$1source\$1name* *federated\$1source\$1database*. *federated\$1source\$1table*.

**Example**  

```
CREATE VIEW default.order_summary AS
SELECT *
FROM federated_source_name.federated_source_database."person" p
    JOIN federated_source_name.federated_source_database."profile" pr ON pr.id = p.id
    JOIN awsdatacatalog.default.purchase i ON p.id = i.id
    JOIN awsdatacatalog.default.payment pay ON pay.id = p.id
```

### Weitere Ressourcen
<a name="running-federated-queries-federated-views-additional-resources"></a>
+ Ein Beispiel für eine Verbundansicht, die von ihrer ursprünglichen Quelle entkoppelt ist und für On-Demand-Analysen in einem Mehrbenutzermodell verfügbar ist, finden Sie unter [Erweitern Sie Ihr Data Mesh mit Amazon Athena und Verbundansichten](https://aws.amazon.com/blogs/big-data/extend-your-data-mesh-with-amazon-athena-and-federated-views/) im *AWS -Big-Data-Blog*. 
+ Weitere Informationen zur Arbeit mit Ansichten in Athena finden Sie unter [Arbeiten mit Ansichten](views.md).