Configurar PolyBase para obtener acceso a datos externos en Teradata

Se aplica a:SQL Server

En este artículo se explica cómo usar PolyBase en una instancia de SQL Server para consultar datos externos en Teradata.

Requisitos previos

Si no ha instalado PolyBase, consulte Instalación de PolyBase. En el artículo de instalación se explican los requisitos previos.

Se debe crear una Clave maestra antes de crear una credencial de ámbito de base de datos.

Para usar PolyBase en Teradata, se necesita VC++ Redistributable.

Configuración de un origen de datos externos de Teradata

Para consultar los datos de un origen de datos de Teradata, debe crear tablas externas que hagan referencia a los datos externos. En esta sección se proporciona código de ejemplo para crear estas tablas externas.

En esta sección se utilizan los siguientes comandos de Transact-SQL:

  1. Cree una credencial de ámbito de base de datos para acceder al origen de datos de 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

    El conector de ODBC de Teradata para PolyBase solo admite la autenticación básica, no la autenticación Kerberos.

  2. Cree un origen de datos externo 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. Cree una tabla externa 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. Opcional: cree estadísticas en una tabla externa.

    Se recomienda crear estadísticas en las columnas de tabla externa, sobre todo en las que se usan para las combinaciones, filtros y agregados, para obtener un rendimiento óptimo de las consultas.

    CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN; 
    

Importante

Una vez que se haya creado un origen de datos externos, se puede usar el comando CREATE EXTERNAL TABLE para crear una tabla consultable a través de ese origen.

Pasos siguientes

Para obtener más tutoriales sobre cómo crear orígenes de datos externos y tablas externas en una variedad de orígenes de datos, consulte Referencia de Transact-SQL de PolyBase.

Para obtener más información sobre PolyBase, consulte la información general de SQL Server PolyBase.