View a markdown version of this page

Teradata-Vantage-NOS-Verbindungen - AWS Glue

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.

Teradata-Vantage-NOS-Verbindungen

Die Teradata-NOS-Verbindung (Native Object Store) ist eine neue Verbindung für Teradata Vantage, die die Teradata-WRITE_NOS-Abfrage zum Lesen aus vorhandenen Tabellen und die READ_NOS-Abfrage zum Schreiben in Tabellen nutzt. Diese Abfragen verwenden Amazon S3 als Staging-Verzeichnis. Daher ist der Teradata-NOS-Connector schneller als der bestehende Teradata-Connector (JDBC-basiert), insbesondere bei der Verarbeitung großer Datenmengen.

Sie können die Teradata NOS-Verbindung in AWS Glue für Spark verwenden, um in Teradata Vantage 5.0 und späteren Versionen aus vorhandenen Tabellen zu lesen und in AWS Glue diese zu schreiben. Sie können definieren, was mit einer SQL-Abfrage aus Teradata gelesen werden soll. Sie können eine Verbindung zu Teradata herstellen, indem Sie Benutzernamen und Passwörter verwenden, die in einer Verbindung gespeichert sind. AWS Secrets Manager AWS Glue

Weitere Informationen zu Teradata finden Sie in der Teradata-Dokumentation.

Erstellen einer Teradata-NOS-Verbindung

Um von aus eine Verbindung zu Teradata NOS herzustellen AWS Glue, müssen Sie Ihre Teradata-Anmeldeinformationen in einem AWS Secrets Manager geheimen Ordner erstellen und speichern und dieses Geheimnis dann einer Teradata NOS-Verbindung zuordnen. AWS Glue Wenn sich Ihre Teradata-Instance in einer Amazon VPC befindet, müssen Sie auch Netzwerkoptionen für Ihre AWS Glue Teradata NOS-Verbindung bereitstellen.

Voraussetzungen:

  • Wenn Sie über Amazon VPC auf Ihre Teradata-Umgebung zugreifen, konfigurieren Sie Amazon VPC so, dass Ihr AWS Glue Job mit der Teradata-Umgebung kommunizieren kann. Wir raten davon ab, über das öffentliche Internet auf die Teradata-Umgebung zuzugreifen.

  • Identifizieren oder erstellen Sie in Amazon VPC eine VPC, ein Subnetz und eine Sicherheitsgruppe, die bei der Ausführung des Jobs verwendet AWS Glue werden. Darüber hinaus muss Amazon VPC so konfiguriert sein, dass der Netzwerkdatenverkehr zwischen Ihrer Teradata-Instance und diesem Standort zugelassen wird. Ihr Auftrag muss eine TCP-Verbindung mit Ihrem Teradata-Client-Port herstellen. Weitere Informationen zu Teradata-Ports finden Sie unter Sicherheitsgruppen für Teradata Vantage.

  • Abhängig von Ihrem Netzwerklayout kann eine sichere VPC-Konnektivität Änderungen an Amazon VPC und anderen Netzwerkdiensten erfordern. Weitere Informationen zur Konnektivität finden Sie unter AWS AWS Konnektivitätsoptionen in der Teradata-Dokumentation.

So konfigurieren Sie eine AWS Glue Teradata NOS-Verbindung:

  1. Identifizieren oder erstellen Sie in Ihrer Teradata-Konfiguration eine teradataUsername und teradataPassword AWS Glue stellen Sie eine Verbindung her mit. Weitere Informationen finden Sie in der Teradata-Dokumentation unter Vantage Security Overview.

  2. Erstellen Sie AWS Secrets Manager unter Verwendung Ihrer Teradata-Anmeldeinformationen ein Geheimnis. Um ein Geheimnis zu erstellen AWS Secrets Manager, folgen Sie dem Tutorial, das in der Dokumentation unter Create an AWS Secrets Manager Secret verfügbar ist AWS Secrets Manager. Nachdem Sie das Geheimnis erstellt haben, behalten Sie den Geheimnamen secretName für den nächsten Schritt bei.

    • Wenn Sie Key/value Paare auswählen, erstellen Sie ein Paar für den Schlüssel USERNAME mit dem WertteradataUsername.

    • Wenn Sie Key/value Paare auswählen, erstellen Sie ein Paar für den Schlüssel PASSWORD mit dem WertteradataPassword.

  3. Erstellen Sie in der AWS Glue Konsole eine Verbindung, indem Sie den Schritten unter AWS Glue Verbindung hinzufügen folgen. Behalten Sie nach dem Erstellen der Verbindung den Verbindungsnamen für den nächsten Schritt bei. connectionName

    • Wählen Sie als Verbindungstyp Teradata Vantage NOS aus.

    • Wenn Sie die IDBC-URL angeben, geben Sie die URL für Ihre Instance an. Sie können auch bestimmte durch Kommas getrennte Verbindungsparameter in Ihrer JDBC-URL fest codieren. Die URL muss dem folgenden Format entsprechen: jdbc:teradata://teradataHostname/ParameterName=ParameterValue,ParameterName=ParameterValue

    • Zu den unterstützten URL-Parametern gehören:

      • DATABASE – Name der Datenbank auf dem Host, auf die standardmäßig zugegriffen werden soll.

      • DBS_PORT – der Datenbankport, der verwendet wird, wenn nicht der standardmäßige Port genutzt wird.

    • Wählen Sie bei der Auswahl eines Anmeldeinformationstyps die Option AWS Secrets Manager und setzen Sie dann AWS Geheim aufsecretName.

  4. In den folgenden Situationen ist möglicherweise eine zusätzliche Konfiguration erforderlich:

    • Für Teradata-Instances, die auf AWS einer Amazon VPC gehostet werden, müssen Sie Amazon VPC-Verbindungsinformationen für die Verbindung bereitstellen, die Ihre AWS Glue Teradata-Sicherheitsanmeldedaten definiert. Wenn Sie Ihre Verbindung erstellen oder aktualisieren, legen Sie VPC, Subnetz und Sicherheitsgruppen in den Netzwerkoptionen fest.

Nachdem Sie eine AWS Glue Teradata Vantage NOS-Verbindung hergestellt haben, müssen Sie die folgenden Schritte ausführen, bevor Sie Ihre Verbindungsmethode aufrufen.

  1. Erteilen Sie der mit Ihrem AWS Glue Job verknüpften IAM-Rolle Leserechte. secretName

  2. Stellen connectionName Sie in Ihrer AWS Glue Jobkonfiguration unter Verbindungen eine zusätzliche Netzwerkverbindung bereit.

Lesen aus Teradata-Tabellen

Voraussetzungen:

  • Eine Teradata-Tabelle, aus der gelesen werden soll. Sie benötigen den Tabellennamen,tableName.

  • Die Teradata-Umgebung hat Schreibzugriff auf den Amazon S3 S3-Pfad, der in der staging_fs_url Option, angegeben ist. stagingFsUrl

  • Die mit dem AWS Glue Job verknüpfte IAM-Rolle hat Schreibzugriff auf den Amazon S3 S3-Standort, der in der staging_fs_url Option angegeben ist.

  • Eine AWS Glue Teradata NOS-Verbindung, die für die Bereitstellung von Authentifizierungsinformationen konfiguriert ist. Führen Sie die Schritte in So konfigurieren Sie eine AWS Glue Teradata NOS-Verbindung: aus, um Ihre Authentifizierungsinformationen zu konfigurieren. Sie benötigen den Namen der Verbindung,. AWS Glue connectionName

Beispiel:

teradata_read_table = glueContext.create_dynamic_frame.from_options( connection_type= "teradatanos", connection_options={ "connectionName": "connectionName", "dbtable": "tableName", "staging_fs_url": "stagingFsUrl" } )

Sie können auch eine SELECT-SQL-Abfrage angeben, um die an Ihre zurückgegebenen Ergebnisse zu filtern DynamicFrame. Sie müssen die Abfrage konfigurieren. Wenn Sie sowohl dbTable als auch die Abfrage konfigurieren, kann der Connector die Daten nicht lesen. Beispiel:

teradata_read_query = glueContext.create_dynamic_frame.from_options( connection_type="teradatanos", connection_options={ "connectionName": "connectionName", "query": "query", "staging_fs_url": "stagingFsUrl" } )

Darüber hinaus können Sie die DataFrame Spark-API verwenden, um aus Teradata-Tabellen zu lesen. Beispiel:

options = { "url": "JDBC_URL", "dbtable": "tableName", "user": "teradataUsername", # or use "username" as key here "password": "teradataPassword", "staging_fs_url": "stagingFsUrl" } teradata_read_table = spark.read.format("teradatanos").option(**options).load()

Schreiben in Teradata-Tabellen

Voraussetzungen

  • Eine Teradata-Tabelle, in die Sie schreiben möchten:. tableName

  • Die Teradata-Umgebung hat Lesezugriff auf den Amazon S3 S3-Standort, der in der staging_fs_url Option, angegeben ist. stagingFsUrl

  • Die mit dem AWS Glue Job verknüpfte IAM-Rolle hat Schreibzugriff auf den Amazon S3 S3-Standort, der in der staging_fs_url Option angegeben ist.

  • Eine AWS Glue Teradata-Verbindung, die für die Bereitstellung von Authentifizierungsinformationen konfiguriert ist. Führen Sie die Schritte in So konfigurieren Sie eine AWS Glue Teradata NOS-Verbindung: aus, um Ihre Authentifizierungsinformationen zu konfigurieren. Sie benötigen den Namen der Verbindung,. AWS Glue connectionName

    Beispiel:

    teradata_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type= "teradatanos", connection_options={ "connectionName": "connectionName", "dbtable": "tableName", "staging_fs_url": "stagingFsUrl" } )

Referenz zur Teradata-Verbindungsoption

Verbindungs- und Operationsoptionen:

  • connectionName – Erforderlich. Wird für Lesen/Schreiben verwendet. Der Name einer AWS Glue Teradata-Verbindung, die so konfiguriert ist, dass sie Authentifizierungs- und Netzwerkinformationen für Ihre Verbindungsmethode bereitstellt.

  • staging_fs_url – Erforderlich. Wird für Lesen/Schreiben verwendet. Ein beschreibbarer Speicherort in Amazon S3, der für entladene Daten beim Lesen aus Teradata und für Parquet-Daten verwendet wird, die beim Schreiben in Teradata in Redshift geladen werden sollen. Der S3-Bucket muss sich in derselben Region wie die Region Ihrer Jobs befinden. AWS Glue

  • dbtable – Zum Schreiben erforderlich, zum Lesen erforderlich, sofern query nicht angegeben ist. Wird für Lesen/Schreiben verwendet. 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. Voraussetzung ist, dass die Option dbtable angegeben ist.

  • clean_staging_s3_dir— Fakultativ. Wird für Lesen/Schreiben verwendet. Falls „True“, werden die Amazon-S3-Staging-Objekte nach einem Lese- oder Schreibvorgang bereinigt. Der Standardwert ist "True".

  • pre_actions— Fakultativ. Wird zum Schreiben verwendet. Eine durch Semikolons getrennte Liste von SQL-Befehlen, die ausgeführt werden, bevor Daten zwischen Spark und Teradata Vantage übertragen werden.

  • post_actions— Fakultativ. Wird zum Schreiben verwendet. Eine durch Semikolons getrennte Liste von SQL-Befehlen, die ausgeführt werden, nachdem Daten zwischen Spark und Teradata Vantage übertragen wurden.

  • truncate— Fakultativ. Wird zum Schreiben verwendet. Falls „True“, kürzt der Connector die Tabelle, wenn im Überschreibenmodus geschrieben wird. Wenn der Wert „False“ ist, löscht der Connector die Tabelle, wenn im Überschreibenmodus geschrieben wird. Der Standardwert ist "false".

  • create_table_script— Fakultativ. Wird zum Schreiben verwendet. Eine SQL-Anweisung zum Erstellen einer Tabelle beim Schreiben in Teradata Vantage. Nützlich, wenn Sie eine Tabelle mit benutzerdefinierten Metadaten erstellen möchten (z. B. CREATE MULTISET oder SET TABLE oder Änderung des Primärindex). Beachten Sie, dass der im Skript zum Erstellen einer Tabelle verwendete Tabellenname mit dem in der Option dbtable angegebenen Tabellennamen übereinstimmen sollte.

  • partition_size_in_mb— Fakultativ. Zum Lesen verwendet. Maximale Größe einer Spark-Partition in Megabyte beim Lesen von Amazon-S3-Staging-Objekten. Der Standardwert lautet 128.

Sie können bei der Erstellung eines Teradata-Knotens erweiterte Optionen angeben. Diese Optionen sind dieselben wie bei der Programmierung AWS Glue für Spark-Skripte.

Siehe Teradata-Vantage-Verbindungen.

Autorisierungsoptionen:

Im Folgenden finden Sie Optionen zur Bereitstellung von AWS Kontoanmeldeinformationen, die der Connector für den Zugriff auf den Amazon S3 S3-Staging-Bucket verwendet. Sie können wählen, (1) überhaupt keine Autorisierungsoptionen bereitzustellen und temporäre Anmeldeinformationen zu verwenden, die von Ihrer AWS Glue Ausführungsrolle generiert wurden; oder (2) ein von Ihnen erstelltes Autorisierungsobjekt bereitzustellen; oder (3) anzugeben, auth_object aws_access_key_id and aws_secret_access_key falls langfristige Anmeldeinformationen verwendet werden, oder, aws_access_keyaws_secret_access_key, bereitzustellen und aws_session_token temporäre Anmeldeinformationen zu verwenden.

  • auth_object – Optional. Wird für den Zugriff auf den Amazon-S3-Bucket verwendet. Eine Zeichenfolge für ein Autorisierungsobjekt, die in einer Teradata-Instance erstellt wurde. Falls angegeben, verwendet der Connector dieses Autorisierungsobjekt, um auf den Amazon-S3-Staging-Bucket zuzugreifen. Falls nicht angegeben aws_access_key_id und auch nicht bereitgestellt aws_secret_access_key werden, werden temporäre Anmeldeinformationen aus der AWS Glue Ausführungsrolle abgerufen und vom Connector verwendet. Das mit diesem Autorisierungsobjekt verknüpfte AWS Konto muss sich in derselben Region wie Ihre AWS Glue Jobs und Ihr Amazon S3 S3-Staging-Bucket befinden oder mit kontoübergreifender Vertrauensstellung konfiguriert sein.

  • aws_access_key_id – Optional. Wird für den Zugriff auf den Amazon-S3-Bucket verwendet. Teil eines Sicherheitsnachweises für ein AWS Konto. Wenn auth_object nicht angegeben ist und aws_secret_access_key mit aws_access_key_id bereitgestellt wird, verwendet der Connector sie, um auf den Amazon-S3-Staging-Bucket zuzugreifen. Das mit diesem Zugriffsschlüssel verknüpfte AWS Konto muss sich in derselben Region wie Ihre AWS Glue Jobs und Ihr Amazon S3 S3-Staging-Bucket befinden oder mit kontoübergreifender Vertrauensstellung konfiguriert sein.

  • aws_secret_access_key – Optional. Wird für den Zugriff auf den Amazon-S3-Bucket verwendet. Teil eines Sicherheitsnachweises für ein AWS Konto. Wenn auth_object nicht angegeben ist und aws_access_key_id mit aws_secret_access_key bereitgestellt wird, verwendet der Connector sie, um auf den Amazon-S3-Staging-Bucket zuzugreifen. Das mit diesem geheimen Schlüssel verknüpfte AWS Konto muss sich in derselben Region wie Ihre AWS Glue Jobs und Ihr Amazon S3 S3-Staging-Bucket befinden oder mit kontoübergreifender Vertrauensstellung konfiguriert sein.

  • aws_session_token – Optional. Wird für den Zugriff auf den Amazon-S3-Bucket verwendet. Teil eines temporären AWS Konto-Sicherheitsnachweises. Sollte mit aws_access_key_id und aws_secret_access_key bereitgestellt werden.

Stellen Sie Optionen in der AWS Glue Visual ETL-Benutzeroberfläche bereit

Sie können alle oben genannten Optionen auf Ihrer Visual-ETL-Auftrags-UI bereitstellen. Für die connectionName-Option sollten Sie sie aus der Dropdownliste der Teradata-Vantage-NOS-Verbindung auswählen. Für alle anderen Optionen sollten Sie sie über die benutzerdefinierten Teradata-Vantage-NOS-Eigenschaften als Schlüssel/Wert-Paare angeben.

Im Fensterbereich wird angezeigt, dass die Teradata-NOS-Vantage-Verbindung ausgewählt ist.