PolyBase configureren voor toegang tot externe gegevens in Oracle
van toepassing op:SQL Server-
In het artikel wordt uitgelegd hoe u PolyBase op een SQL Server-exemplaar gebruikt om een query uit te voeren op externe gegevens in Oracle.
Voorwaarden
Als u PolyBase nog niet hebt geïnstalleerd, raadpleegt u PolyBase-installatie.
Voordat u een database scope-referentie maakt, moet er een hoofdsleutel worden gemaakt.
Een externe Oracle-gegevensbron configureren
Als u een query wilt uitvoeren op de gegevens uit een Oracle-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 database-gerichte inloggegevens voor toegang tot de Oracle-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 Oracle 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 = 'oracle://<server address>[:<port>]', -- PUSHDOWN = ON | OFF, CREDENTIAL = credential_name)
Maak een externe tabel met CREATE EXTERNAL TABLE.
/* * LOCATION: Three-part identifier indicating database & domain or only database, schema, and table name. * DATA_SOURCE: The data source created above. */ CREATE EXTERNAL TABLE [T1] ( [KEY] DECIMAL(38) NOT NULL, [RANDOM_INT] DECIMAL(38), [RANDOM_FLOAT] FLOAT(53)) WITH ( LOCATION = '[ORCLCDB.localdomain].SYS.T1', 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 tutorials over het maken van externe gegevensbronnen en externe tabellen voor verschillende gegevensbronnen.
Zie de volgende artikelen voor meer informatie en voorbeelden: