

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.

# Amazon Athena Google-Konnektor BigQuery
<a name="connectors-bigquery"></a>

Der Amazon Athena-Connector für Google [BigQuery](https://cloud.google.com/bigquery/)ermöglicht es Amazon Athena, SQL-Abfragen für Ihre BigQuery Google-Daten auszuführen.

Dieser Connector kann bei Glue-Datenkatalog als Verbundkatalog registriert werden. Er unterstützt in Lake Formation definierte Datenzugriffskontrollen auf Katalog-, Datenbank-, Tabellen-, Spalten-, Zeilen- und Tagebene. Dieser Konnektor verwendet Glue Connections, um die Konfigurationseigenschaften in Glue zu zentralisieren.

## Voraussetzungen
<a name="connectors-bigquery-prerequisites"></a>
+ Stellen Sie den Konnektor für Ihr AWS-Konto mithilfe der Athena-Konsole oder AWS Serverless Application Repository bereit. Für weitere Informationen siehe [Eine Datenquellenverbindung erstellen](connect-to-a-data-source.md) oder [Verwenden Sie den AWS Serverless Application Repository , um einen Datenquellenconnector bereitzustellen](connect-data-source-serverless-app-repo.md).

## Einschränkungen
<a name="connectors-bigquery-limitations"></a>
+ Lambda-Funktionen haben einen maximalen Timeout-Wert von 15 Minuten. Jeder Split führt eine Abfrage aus BigQuery und muss so lange abgeschlossen sein, bis die Ergebnisse gespeichert werden können, damit Athena sie lesen kann. Wenn bei der Lambda-Funktion eine Zeitüberschreitung auftritt, schlägt die Abfrage fehl.
+ Google unterscheidet zwischen Groß- und BigQuery Kleinschreibung. Der Konnektor versucht, die Groß- und Kleinschreibung von Datensatznamen, Tabellennamen und Projekten zu korrigieren IDs. Dies ist notwendig, da Athena alle Metadaten in Kleinbuchstaben schreibt. Diese Korrekturen führen zu vielen zusätzlichen Aufrufen bei Google BigQuery.
+ Der Datentyp BINARY wird nicht unterstützt.
+ Aufgrund der BigQuery Parallelität von Google und der Kontingentbeschränkungen kann es beim Connector zu Problemen mit der Google-Kontingentbegrenzung kommen. Um diese Probleme zu vermeiden, sollten Sie Google so viele Einschränkungen BigQuery wie möglich übertragen. Informationen zu BigQuery Kontingenten finden Sie in der BigQuery Google-Dokumentation unter [Kontingente und Beschränkungen](https://cloud.google.com/bigquery/quotas).

## Parameters
<a name="connectors-bigquery-parameters"></a>

Verwenden Sie die Parameter in diesem Abschnitt, um den BigQuery Google-Connector zu konfigurieren.

### Glue Connections (empfohlen)
<a name="bigquery-gc"></a>

Wir empfehlen, dass Sie einen BigQuery Google-Connector mithilfe eines Glue-Verbindungsobjekts konfigurieren. Setzen Sie dazu die `glue_connection` Umgebungsvariable des BigQuery Google-Connectors Lambda auf den Namen der zu verwendenden Glue-Verbindung.

**Eigenschaften von Glue Connections**

Verwenden Sie den folgenden Befehl, um das Schema für ein Glue-Connection-Objekt zu erhalten. Dieses Schema enthält alle Parameter, mit denen Sie Ihre Verbindung steuern können.

```
aws glue describe-connection-type --connection-type BIGQUERY
```

**Lambda-Umgebungseigenschaften**

**glue\$1connection** – Gibt den Namen der Glue-Connection an, die dem Verbund-Connector zugeordnet ist. 

**Anmerkung**  
Alle Konnektoren, die Glue-Verbindungen verwenden, müssen diese AWS Secrets Manager zum Speichern von Anmeldeinformationen verwenden.
Der mit Glue-Verbindungen erstellte BigQuery Google-Connector unterstützt die Verwendung eines Multiplexing-Handlers nicht.
Der mit Glue-Verbindungen erstellte BigQuery Google-Connector unterstützt nur `ConnectionSchemaVersion` 2.

### Legacy-Connections
<a name="bigquery-legacy"></a>

**Anmerkung**  
Athena-Datenquellenconnectors, die am 3. Dezember 2024 und später erstellt wurden, verwenden AWS Glue Verbindungen.

Die unten aufgeführten Parameternamen und Definitionen beziehen sich auf Athena-Datenquellenkonnektoren, die ohne eine zugehörige Glue-Connection erstellt wurden. Verwenden Sie die folgenden Parameter nur, wenn Sie eine frühere Version eines Athena-Datenquellenkonnektors [manuell bereitstellen](connect-data-source-serverless-app-repo.md) oder wenn die `glue_connection`-Umgebungseigenschaft nicht angegeben ist.

**Lambda-Umgebungseigenschaften**
+ **spill\$1bucket** – Gibt den Amazon S3-Bucket für Daten an, die die Lambda-Funktionsgrenzen überschreiten.
+ **spill\$1prefix** – (Optional) Ist standardmäßig ein Unterordner im angegebenen `spill_bucket` genannt `athena-federation-spill`. Wir empfehlen Ihnen, einen Amazon-S3-[Speicher-Lebenszyklus](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) an dieser Stelle zu konfigurieren, um die Überlaufe zu löschen, die älter als eine festgelegte Anzahl von Tagen oder Stunden sind.
+ **spill\$1put\$1request\$1headers** – (Optional) Eine JSON-codierte Zuordnung von Anforderungsheadern und Werten für die Amazon-S3-`putObject`-Anforderung, die für den Überlauf verwendet wird (z. B. `{"x-amz-server-side-encryption" : "AES256"}`). Weitere mögliche Header finden Sie [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)in der *Amazon Simple Storage Service API-Referenz.*
+ **kms\$1key\$1id** – (Optional) Standardmäßig werden alle Daten, die an Amazon S3 gesendet werden, mit dem AES-GCM-authentifizierten Verschlüsselungsmodus und einem zufällig generierten Schlüssel verschlüsselt. Damit Ihre Lambda-Funktion stärkere Verschlüsselungsschlüssel verwendet, die von KMS generiert werden, wie`a7e63k4b-8loc-40db-a2a1-4d0en2cd8331`, können Sie eine ID einer Verschlüsselung angeben.
+ **disable\$1spill\$1encryption** – (Optional) Bei Einstellung auf `True`, wird die Spill-Verschlüsselung deaktiviert. Die Standardeinstellung ist `False`, sodass Daten, die an S3 übertrragen werden, mit AES-GCM verschlüsselt werden - entweder mit einem zufällig generierten Schlüssel oder mit KMS zum Generieren von Schlüsseln. Das Deaktivieren der Überlauf-Verschlüsselung kann die Leistung verbessern, insbesondere wenn Ihr Überlauf-Standort eine [serverseitige Verschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) verwendet.
+ **gcp\$1projekt\$1id** – Die Projekt-ID (nicht der Projektname), die die Datensätze enthält, aus denen der Konnektor lesen soll (z. B. `semiotic-primer-1234567`).
+ **secret\$1manager\$1gcp\$1creds\$1name — Der Name** des Geheimnisses, das Ihre Anmeldeinformationen im JSON-Format enthält (z. AWS Secrets Manager B.). BigQuery `GoogleCloudPlatformCredentials`
+ **big\$1query\$1endpoint** — (Optional) Die URL eines privaten Endpunkts. BigQuery Verwenden Sie diesen Parameter, wenn Sie BigQuery über einen privaten Endpunkt zugreifen möchten.

## Teilungen und Ansichten
<a name="connectors-bigquery-splits-and-views"></a>

Da der BigQuery Connector die BigQuery Storage Read API zum Abfragen von Tabellen verwendet und die BigQuery Speicher-API keine Ansichten unterstützt, verwendet der Connector den BigQuery Client mit einer einzigen Aufteilung für Ansichten.

## Leistung
<a name="connectors-bigquery-performance"></a>

Um Tabellen abzufragen, verwendet der BigQuery Connector die BigQuery Storage Read API, die ein RPC-basiertes Protokoll verwendet, das schnellen Zugriff auf BigQuery verwalteten Speicher ermöglicht. Weitere Informationen zur BigQuery Storage Read API finden Sie in der Google Cloud-Dokumentation unter [Verwenden der BigQuery Storage Read API zum Lesen von Tabellendaten](https://cloud.google.com/bigquery/docs/reference/storage).

Die Auswahl einer Teilmenge von Spalten beschleunigt die Abfragelaufzeit erheblich und reduziert die gescannten Daten. Der Konnektor ist mit zunehmender Parallelität Abfragefehlern ausgesetzt und in der Regel ein langsamer Konnektor.

Der Athena BigQuery Google-Connector führt einen Prädikat-Pushdown durch, um die von der Abfrage gescannten Daten zu reduzieren. `LIMIT`Klauseln, `ORDER BY` Klauseln, einfache Prädikate und komplexe Ausdrücke werden an den Konnektor übertragen, um die Menge der gescannten Daten zu reduzieren und die Laufzeit der Abfrage zu verkürzen. 

### LIMIT-Klauseln
<a name="connectors-bigquery-performance-limit-clauses"></a>

Eine `LIMIT N`-Anweisung reduziert die von der Abfrage durchsuchten Daten. Mit `LIMIT N`-Pushdown gibt der Konnektor nur `N` Zeilen an Athena zurück.

### Top-N-Abfragen
<a name="connectors-bigquery-performance-top-n-queries"></a>

Eine Top-`N`-Abfrage gibt eine Reihenfolge der Ergebnismenge und eine Obergrenze für die Anzahl der zurückgegebenen Zeilen an. Sie können diesen Abfragetyp verwenden, um die höchsten `N`-Höchstwerte oder die höchsten `N`-Minimalwerte für Ihre Datensätze zu ermitteln. Mit `N`-Pushdown gibt der Konnektor nur `N`-geordnete Zeilen an Athena zurück.

### Prädikate
<a name="connectors-bigquery-performance-predicates"></a>

Ein Prädikat ist ein Ausdruck in der `WHERE`-Klausel einer SQL-Abfrage, der einen booleschen Wert ergibt und Zeilen auf der Grundlage mehrerer Bedingungen filtert. Der Athena BigQuery Google-Connector kann diese Ausdrücke kombinieren und sie direkt an Google weiterleiten, um BigQuery die Funktionalität zu verbessern und die Menge der gescannten Daten zu reduzieren.

Die folgenden Athena Google BigQuery Connector-Operatoren unterstützen das Prädikat Pushdown:
+ **Boolean: **UND, ODER, NICHT
+ **Gleichheit: **GLEICH, NICHT-GLEICH, WENIGER\$1ALS, WENIGER\$1ODER-GLEICH, GRÖSSER\$1ALS, GRÖSSER\$1ODER-GLEICH, IST\$1UNTERSCHIEDEN VON, NULL\$1WENN, IST\$1NULL
+ **Arithmetik: **ADDIEREN, SUBTRAHIEREN, MULTIPLIZIEREN, DIVIDIEREN, MODULIEREN, NEGIEREN
+ **Andere: WIE\$1MUSTER, IN**

### Beispiel für einen kombinierten Pushdown
<a name="connectors-bigquery-performance-pushdown-example"></a>

Kombinieren Sie für erweiterte Abfragefunktionen die Pushdown-Typen wie im folgenden Beispiel:

```
SELECT * 
FROM my_table 
WHERE col_a > 10 
    AND ((col_a + col_b) > (col_c % col_d)) 
    AND (col_e IN ('val1', 'val2', 'val3') OR col_f LIKE '%pattern%') 
ORDER BY col_a DESC 
LIMIT 10;
```

## Pass-Through-Abfragen
<a name="connectors-bigquery-passthrough-queries"></a>

[Der BigQuery Google-Connector unterstützt Passthrough-Abfragen.](federated-query-passthrough.md) Pass-Through-Abfragen verwenden eine Tabellenfunktion, um Ihre vollständige Abfrage zur Ausführung an die Datenquelle weiterzuleiten.

Um Passthrough-Abfragen mit Google zu verwenden BigQuery, können Sie die folgende Syntax verwenden:

```
SELECT * FROM TABLE(
        system.query(
            query => 'query string'
        ))
```

Mit der folgenden Beispielabfrage wird eine Abfrage an eine Datenquelle in Google weitergeleitet. BigQuery Die Abfrage wählt alle Spalten in der `customer`-Tabelle aus und begrenzt die Ergebnisse auf 10.

```
SELECT * FROM TABLE(
        system.query(
            query => 'SELECT * FROM customer LIMIT 10'
        ))
```

## Lizenzinformationen
<a name="connectors-bigquery-license-information"></a>

Das Amazon Athena Google BigQuery Connector-Projekt ist unter der [Apache-2.0-Lizenz](https://www.apache.org/licenses/LICENSE-2.0.html) lizenziert.

Durch die Verwendung dieses Connectors erkennen Sie die Einbeziehung von Komponenten von Drittanbietern an. Eine Liste dieser Komponenten finden Sie in der Datei [pom.xml](https://github.com/awslabs/aws-athena-query-federation/blob/master/athena-google-bigquery/pom.xml) für diesen Connector, und Sie stimmen den Bedingungen der jeweiligen Drittanbieterlizenzen zu, die in der Datei [LICENSE.txt](https://github.com/awslabs/aws-athena-query-federation/blob/master/athena-google-bigquery/LICENSE.txt) auf .com enthalten sind. GitHub

## Weitere Ressourcen
<a name="connectors-bigquery-additional-resources"></a>

Weitere Informationen zu diesem Connector finden Sie auf [der entsprechenden Website](https://github.com/awslabs/aws-athena-query-federation/tree/master/athena-google-bigquery) auf GitHub .com.