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.
Vertica-Verbindungen
Sie können AWS Glue for Spark verwenden, um in Vertica in AWS Glue 4.0 und späteren Versionen aus Tabellen zu lesen und in Tabellen zu schreiben. Sie können definieren, was mit einer SQL-Abfrage aus Vertica gelesen werden soll. Sie stellen eine Verbindung zu Vertica mithilfe von Anmeldeinformationen für Benutzername und Passwort her, die AWS Secrets Manager über eine AWS Glue-Verbindung gespeichert sind.
Weitere Informationen zu Vertica finden Sie in der Vertica-Dokumentation
Konfigurieren von Vertica-Verbindungen
Um von AWS Glue aus eine Verbindung zu Vertica herzustellen, müssen Sie Ihre Vertica-Anmeldeinformationen in einem AWS Secrets Manager Secret erstellen und speichern und dieses Geheimnis dann einer AWS Vertica Glue-Verbindung zuordnen. Wenn sich Ihre Vertica-Instance in einer Amazon VPC befindet, müssen Sie Ihrer Glue Vertica-Verbindung auch Netzwerkoptionen zur Verfügung stellen. AWS Sie benötigen einen Amazon-S3-Bucket oder -Ordner zur temporären Speicherung beim Lesen und Schreiben in die Datenbank.
Um von AWS Glue aus eine Verbindung zu Vertica herzustellen, benötigen Sie einige Voraussetzungen:
-
Ein Amazon S3-Bucket oder -Ordner, der als temporärer Speicher verwendet wird, wenn aus der Datenbank gelesen und in die Datenbank geschrieben wird, auf den verwiesen wird.
tempS3PathAnmerkung
Wenn Sie Vertica in der Vorschau von AWS Glue-Auftragsdaten verwenden, werden temporäre Dateien möglicherweise nicht automatisch daraus entfernt.
tempS3PathUm sicherzustellen, dass temporäre Dateien entfernt werden, beenden Sie die Datenvorschau-Sitzung direkt, indem Sie im Bereich Datenvorschau die Option Sitzung beenden wählen.Wenn Sie nicht garantieren können, dass die Datenvorschau-Sitzung direkt beendet wird, sollten Sie die Amazon-S3-Lifecycle-Konfiguration so einrichten, dass alte Daten entfernt werden. Wir empfehlen, Daten zu entfernen, die älter als 49 Stunden sind, basierend auf der maximalen Auftragslaufzeit zuzüglich einer Marge. Weitere Informationen zur Konfiguration des Amazon-S3-Lebenszyklus finden Sie in der Amazon-S3-Dokumentation unter Verwalten Ihres Speicherlebenszyklus.
-
Eine IAM-Richtlinie mit den entsprechenden Berechtigungen für Ihren Amazon S3-Pfad, den Sie Ihrer AWS Glue-Jobrolle zuordnen können.
-
Wenn sich Ihre Vertica-Instance in einer Amazon VPC befindet, konfigurieren Sie Amazon VPC so, dass Ihr AWS Glue-Job mit der Vertica-Instance kommunizieren kann, ohne dass der Datenverkehr das öffentliche Internet durchquert.
Identifizieren oder erstellen Sie in Amazon VPC eine VPC, ein Subnetz und eine Sicherheitsgruppe , die Glue bei der Ausführung des Jobs verwenden wird. AWS Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrer Vertica-Instance und diesem Standort zugelassen wird. Ihr Auftrag muss eine TCP-Verbindung mit Ihrem Vertica-Client-Port (Standard 5433) herstellen. Je nach Netzwerklayout kann dies Änderungen an den Sicherheitsgruppenregeln, Netzwerk-ACLs, NAT-Gateways und Peering-Verbindungen erfordern.
Anschließend können Sie AWS Glue für die Verwendung mit Vertica konfigurieren.
Eine Verbindung zu Vertica konfigurieren Sie wie folgt:
-
Erstellen Sie in AWS Secrets Manager ein geheimes Passwort mit Ihren Vertica-Anmeldeinformationen, und
verticaUsername.verticaPasswordUm ein Geheimnis in Secrets Manager zu erstellen, folgen Sie dem Tutorial unter Create an AWS Secrets Manager Secret in der AWS Secrets Manager Dokumentation. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Namen des GeheimnissessecretNamefür den nächsten Schritt bei.-
Erstellen Sie bei der Auswahl von Key/value Paaren ein Paar für den Schlüssel
usermit dem WertverticaUsername. -
Erstellen Sie bei der Auswahl von Key/value Paaren ein Paar für den Schlüssel
passwordmit dem WertverticaPassword.
-
Erstellen Sie in der AWS Glue-Konsole eine Verbindung, indem Sie den Schritten unter folgenAWS Glue Verbindung hinzufügen. Nachdem Sie die Verbindung hergestellt haben, behalten Sie den Verbindungsnamen für den nächsten Schritt bei.
connectionNameWählen Sie als Verbindungstyp Vertica aus.
Geben Sie als Vertica-Host den Hostnamen Ihrer Vertica-Installation an.
Geben Sie als Vertica-Port den Port an, über den Ihre Vertica-Installation verfügbar ist.
Geben Sie bei der Auswahl eines AWS Geheimnisses Folgendes an
secretName.
-
In den folgenden Situationen ist möglicherweise eine zusätzliche Konfiguration erforderlich:
-
Für Vertica-Instances, die AWS in einer Amazon VPC gehostet werden
-
Stellen Sie Amazon VPC-Verbindungsinformationen für die AWS Glue-Verbindung bereit, die Ihre Vertica-Sicherheitsanmeldeinformationen definieren. Wenn Sie Ihre Verbindung erstellen oder aktualisieren, legen Sie VPC, Subnetz und Sicherheitsgruppen in den Netzwerkoptionen fest.
-
-
Nachdem Sie eine AWS Glue Vertica-Verbindung hergestellt haben, müssen Sie die folgenden Schritte ausführen, bevor Sie Ihre Verbindungsmethode aufrufen.
Gewähren Sie die IAM-Rolle, die mit Ihrem AWS Glue-Job verknüpft ist, an.
tempS3PathErteilen Sie der IAM-Rolle, die Ihrem AWS Glue-Job zugeordnet ist, die Leseberechtigung.
secretNameGeben
connectionNameSie in Ihrer AWS Glue-Job-Konfiguration eine zusätzliche Netzwerkverbindung an.
Lesen aus Vertica
Voraussetzungen:
-
Eine Vertica-Tabelle, aus der gelesen werden soll. Sie benötigen den Vertica-Datenbanknamen
dbNameund den Tabellennamen.tableName -
Eine AWS Glue Vertica-Verbindung, die für die Bereitstellung von Authentifizierungsinformationen konfiguriert ist. Gehen Sie wie im vorherigen Verfahren beschrieben vor, um eine Verbindung zu Vertica zu konfigurieren, um Ihre Authentifizierungsinformationen zu konfigurieren. Sie benötigen den Namen der AWS Glue-Verbindung,.
connectionName -
Ein Amazon-S3-Bucket oder -Ordner, der (wie zuvor erwähnt) für den temporären Speicher verwendet werden soll. Sie benötigen den Namen,
tempS3Path. Sie müssen über dass3a-Protokoll eine Verbindung zu diesem Standort herstellen.
Beispiel:
dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "table": "tableName", } )
Sie können auch eine SELECT-SQL-Abfrage bereitstellen, um die an Sie zurückgegebenen Ergebnisse zu filtern DynamicFrame oder um auf einen Datensatz aus mehreren Tabellen zuzugreifen.
Beispiel:
dynamicFrame = glueContext.create_dynamic_frame.from_options( connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "query": "select * FROMtableName", }, )
Schreiben in Vertica-Tabellen
In diesem Beispiel werden Informationen aus einer vorhandenen in DynamicFrame dynamicFrame Vertica geschrieben. Wenn die Tabelle bereits Informationen enthält, hängt AWS Glue Daten von Ihnen an. DynamicFrame
Voraussetzungen:
-
Ein aktueller oder gewünschter Tabellenname
tableName, an den Sie schreiben möchten. Sie benötigen außerdem den entsprechenden Vertica-Datenbanknamen,dbName. -
Eine AWS Glue Vertica-Verbindung, die für die Bereitstellung von Authentifizierungsinformationen konfiguriert ist. Gehen Sie wie im vorherigen Verfahren beschrieben vor, um eine Verbindung zu Vertica zu konfigurieren, um Ihre Authentifizierungsinformationen zu konfigurieren. Sie benötigen den Namen der AWS Glue-Verbindung,.
connectionName -
Ein Amazon-S3-Bucket oder -Ordner, der (wie zuvor erwähnt) für den temporären Speicher verwendet werden soll. Sie benötigen den Namen,
tempS3Path. Sie müssen über dass3a-Protokoll eine Verbindung zu diesem Standort herstellen.
Beispiel:
glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="vertica", connection_options={ "connectionName": "connectionName", "staging_fs_url": "s3a://tempS3Path", "db": "dbName", "table": "tableName", } )
Referenz zur Vertica-Verbindungsoption
-
connectionName– Erforderlich. Verwendet für Read/Write. Der Name einer AWS Glue Vertica-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkinformationen für Ihre Verbindungsmethode bereitstellt. -
db– Erforderlich. Wird verwendet für. Read/Write Der einer Datenbank in Vertica, mit dem Ihre Verbindungsmethode interagieren wird. -
dbSchema– Erforderlich, um ggf. Ihre Tabelle zu identifizieren. Verwendet für Read/Write. Standard:public. Der Name eines Schemas, mit dem Ihre Verbindungsmethode interagieren wird. -
table– Zum Schreiben erforderlich, zum Lesen erforderlich, sofernquerynicht angegeben ist. Verwendet für Read/Write. Der Name einer Tabelle, mit der Ihre Verbindungsmethode interagieren wird. -
query– Wird zum Lesen verwendet. Eine SELECT-SQL-Abfrage, die definiert, was beim Lesen aus Teradata abgerufen werden soll. -
staging_fs_url– Erforderlich. Verwendet für Read/Write. Gültige Werte:s3a-URLs. Die URL eines Amazon-S3-Buckets oder -Ordners, der für den temporären Speicher verwendet werden soll.