Delen via


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:

  1. 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.

  2. 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)
    
  3. 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)
    
  4. 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: