Configurare PolyBase per l'accesso a dati esterni in Teradata

Si applica a:SQL Server

Questo articolo illustra come usare PolyBase in un'istanza di SQL Server per eseguire query sui dati esterni in Teradata.

Prerequisiti

Se PolyBase non è stato installato, vedere Installazione di PolyBase. Nell'articolo sull'installazione vengono illustrati i prerequisiti.

Prima di creare credenziali con ambito database, è necessario creare una chiave master.

Per usare PolyBase in Teradata, è necessario il ridistribuibile di VC++.

Configurare un'origine dati Teradata esterna

Per eseguire query sui dati da un'origine dati Teradata, è necessario creare tabelle esterne per fare riferimento ai dati esterni. In questa sezione è disponibile codice di esempio per creare queste tabelle esterne.

In questa sezione vengono usati i comandi Transact-SQL seguenti:

  1. Creare una credenziale con ambito database per l'accesso all'origine Teradata.

    /*  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';
    

    Importante

    Il connettore ODBC Teradata per PolyBase supporta solo l'autenticazione di base e non l'autenticazione Kerberos.

  2. Creare un'origine dati esterna con 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);
    
  3. Crea una tabella esterna con 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)
    
  4. Facoltativo: Creare statistiche per una tabella esterna.

    È consigliabile creare le statistiche sulle colonne delle tabelle esterne, in particolare quelle usate per join, filtri e aggregazioni, per prestazioni ottimali delle query.

    CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN; 
    

Importante

Dopo aver creato un'origine dati esterna, è possibile usare il comando CREATE EXTERNAL TABLE per creare una tabella disponibile per query su tale origine.

Passaggi successivi

Per altre esercitazioni sulla creazione di origini dati esterne e tabelle esterne in un'ampia gamma di origini dati, vedere le Informazioni di riferimento su Transact-SQL per PolyBase.

Per altre informazioni su PolyBase, vedere Che cos'è PolyBase?.