Configurar o PolyBase para acessar dados externos no Teradata
Aplica-se: SQL Server
Esse artigo explica como usar o PolyBase em uma instância do SQL Server para consultar dados externos no Teradata.
Pré-requisitos
Se você ainda não instalou o PolyBase, veja Instalação do PolyBase. O artigo sobre a instalação explica os pré-requisitos.
Antes de criar um banco de dados de credencial no escopo, uma chave mestra deve ser criada.
Para usar o PolyBase no Teradata, o VC++ redistribuível é necessário.
Configurar uma fonte de dados externa do Teradata
Para consultar os dados de uma fonte de dados do Teradata, você precisa criar tabelas externas para fazer referência aos dados externos. Esta seção fornece código de exemplo para criar essas tabelas externas.
Os seguintes comandos Transact-SQL são usados nesta seção:
- CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)
- CREATE EXTERNAL DATA SOURCE (Transact-SQL)
- CREATE EXTERNAL TABLE (Transact-SQL)
- CREATE STATISTICS (Transact-SQL)
Crie uma credencial no escopo do banco de dados para acessar a fonte do 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
O Conector ODBC do Teradata para PolyBase dá suporte apenas à autenticação Básica, não à autenticação Kerberos.
Crie uma fonte de dados externa, usando 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);
Crie uma tabela externa com 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)
Opcional: criar estatísticas em uma tabela externa.
É recomendável criar estatísticas em colunas de tabelas externas, especialmente aquelas usadas para junções, filtros e agregações, a fim de ter o desempenho de consulta ideal.
CREATE STATISTICS statistics_name ON customer (C_CUSTKEY) WITH FULLSCAN;
Importante
Depois de criar uma fonte de dados externa, você pode usar o comando CREATE EXTERNAL TABLE para criar uma tabela que possa ser consultada por essa fonte.
Próximas etapas
Para obter mais tutoriais sobre como criar fontes de dados externas e tabelas externas para uma variedade de fontes de dados, consulte Referência do PolyBase Transact-SQL.
Para saber mais sobre o PolyBase, consulte Visão geral do PolyBase do SQL Server.