Настройка PolyBase для доступа к внешним данным в Teradata

Область применения: SQL Server

В этой статье описывается использование PolyBase в экземпляре SQL Server для запроса внешних данных в Teradata.

Необходимые компоненты

Если вы не установили PolyBase, см. раздел Установка PolyBase. Необходимые условия описываются в статье, посвященной установке.

Главный ключ необходимо создать перед созданием учетных данных для базы данных.

Для использования PolyBase в Teradata требуется распространяемый компонент VC++.

Настройка внешнего источника данных Teradata

Чтобы запросить данные из источника данных Teradata, необходимо создать внешние таблицы, позволяющие ссылаться на внешние данные. Этот раздел содержит пример кода для создания таких внешних таблиц.

В рамках этого раздела используются следующие команды Transact-SQL:

  1. Создайте учетные данные в области базы данных для доступа к источнику 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';
    

    Внимание

    Соединитель ODBC Teradata для PolyBase поддерживает только обычную проверку подлинности, но не проверку подлинности Kerberos.

  2. Создайте внешний источник данных с помощью инструкции 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. Создание внешней таблицы с помощью инструкции 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. Необязательно. Создайте статистику для внешней таблицы.

    Чтобы обеспечить оптимальную производительность запросов, мы советуем создать статистику столбцов внешней таблицы, особенно тех, которые используются для объединения, применения фильтров и статистических выражений.

    CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN; 
    

Внимание

После создания внешнего источника данных можно использовать команду CREATE EXTERNAL TABLE, чтобы создать таблицу с поддержкой запросов по этому источнику.

Следующие шаги

Дополнительные руководства по созданию внешних источников данных и внешних таблиц в различных источниках данных см . в справочнике по PolyBase Transact-SQL.

Дополнительные сведения о PolyBase см. в статье Руководство по PolyBase.