Konfigurieren von PolyBase für den Zugriff auf externe Daten in Teradata
Gilt für: SQL Server
In diesem Artikel wird erläutert, wie Sie PolyBase in einer SQL Server-Instanz verwenden, um externe Daten in Teradata abzufragen.
Voraussetzungen
Wenn Sie PolyBase nicht installiert haben, finden Sie weitere Informationen unter PolyBase installation (Installieren von PolyBase). Die Voraussetzungen für die Installation werden im entsprechenden Artikel erläutert.
Bevor datenbankweit gültige Anmeldeinformationen erstellt werden können, muss ein Hauptschlüssel erstellt werden.
Sie benötigen Visual C++ Redistributable, um PolyBase in Teradata zu verwenden.
Konfigurieren einer externen Teradata-Datenquelle
Um die Daten einer Teradata-Datenquelle abzufragen, müssen Sie externe Tabellen zum Referenzieren der externen Daten erstellen. Dieser Abschnitt enthält Beispielcode zum Erstellen dieser externen Tabellen.
In diesem Abschnitt werden die folgenden Transact-SQL-Befehle verwendet:
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- ERSTELLEN EINER EXTERNEN DATENQUELLE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Erstellen Sie datenbankweit gültige Anmeldeinformationen für den Zugriff auf die Taradatenquelle.
/* specify credentials to external data source * IDENTITY: user name for external source. * SECRET: password for external source. */ CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'password';
Wichtig
Der Teradata ODBC-Connector für PolyBase unterstützt nur die einfache Authentifizierung, nicht die Kerberos-Authentifizierung.
Erstellen Sie mit CREATE EXTERNAL DATA SOURCE eine externe Datenquelle.
/* LOCATION: Location string should be of format '<vendor>://<server>[:<port>]'. * PUSHDOWN: specify whether computation should be pushed down to the source. ON by default. * CONNECTION_OPTIONS: Specify driver location * CREDENTIAL: the database scoped credential, created above. */ CREATE EXTERNAL DATA SOURCE external_data_source_name WITH (LOCATION = teradata://<server address>[:<port>], -- PUSHDOWN = ON | OFF, CREDENTIAL = credential_name);
Erstellen Sie eine externe Tabelle mit CREATE EXTERNAL TABLE.
/* * LOCATION: Two-part identifier indicating the database and the table name. * DATA_SOURCE: Data source created above. */ CREATE EXTERNAL TABLE [TableC] ( [MyKey] INT NOT NULL, [RandomInt] INT NOT NULL, [RandomFloat] DECIMAL(13, 2) NOT NULL) WITH ( LOCATION = 'TD_SERVER_DB.TableC', DATA_SOURCE = external_data_source_name)
Optional: Erstellen Sie Statistiken für eine externe Tabelle.
Es empfiehlt sich, Statistiken für externe Tabellenspalten zu erstellen – insbesondere für diejenigen, die für Joins, Filter und Aggregate verwendet werden. So können Sie eine optimale Abfrageleistung erzielen.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
Wichtig
Sobald Sie eine externe Datenquelle erstellt haben, können Sie über den Befehl CREATE EXTERNAL TABLE eine abfragbare Tabelle für diese Quelle erstellen.
Nächste Schritte
Weitere Lernprogramme zum Erstellen externer Datenquellen und externer Tabellen für eine Vielzahl von Datenquellen finden Sie unter PolyBase Transact-SQL-Referenz.
Weitere Informationen zu PolyBase finden Sie in der Übersicht zu SQL Server-PolyBase.