PolyBase configureren voor toegang tot externe gegevens in Teradata
van toepassing op:SQL Server-
In dit artikel wordt uitgelegd hoe u PolyBase op een SQL Server-exemplaar gebruikt om een query uit te voeren op externe gegevens in Teradata.
Voorwaarden
Als u PolyBase nog niet hebt geïnstalleerd, raadpleegt u PolyBase-installatie. In het installatieartikel worden de vereisten uitgelegd.
Voordat u een database-scoped referentie maakt, moet eerst een hoofdsleutel worden aangemaakt.
Voor het gebruik van PolyBase op Teradata is VC++ redistributable vereist.
Een externe Teradata-gegevensbron configureren
Als u een query wilt uitvoeren op de gegevens uit een Teradata-gegevensbron, moet u externe tabellen maken om te verwijzen naar de externe gegevens. Deze sectie bevat voorbeeldcode voor het maken van deze externe tabellen.
In deze sectie worden de volgende Transact-SQL opdrachten gebruikt:
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- STATISTIEKEN maken (Transact-SQL)
Maak een databasegerelateerde referentie voor toegang tot de Teradata-bron.
/* 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';
Belangrijk
De Teradata ODBC-connector voor PolyBase ondersteunt alleen basisverificatie, niet Kerberos-verificatie.
Maak een externe gegevensbron met CREATE EXTERNAL DATA SOURCE.
/* 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);
Maak een externe tabel met 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)
Optioneel: Statistieken maken in een externe tabel.
We raden u aan statistieken te maken voor externe tabelkolommen, met name de kolommen die worden gebruikt voor joins, filters en aggregaties, voor optimale queryprestaties.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
Belangrijk
Zodra u een externe gegevensbron hebt gemaakt, kunt u de opdracht CREATE EXTERNAL TABLE opdracht gebruiken om een querybare tabel over die bron te maken.
Volgende stappen
Zie PolyBase Transact-SQL referentievoor meer zelfstudies over het maken van externe gegevensbronnen en externe tabellen in verschillende gegevensbronnen.
Zie Overzicht van SQL Server PolyBasevoor meer informatie over PolyBase.