execução de consultas federadas no Teradata
Esta página descreve como configurar o Lakehouse Federation para executar consultas federadas nos dados do Teradata que não são gerenciados pelo site Databricks. Para saber mais sobre a lakehouse Federation, consulte O que é a lakehouse Federation?
Para se conectar ao banco de dados Teradata usando a Lakehouse Federation, o senhor deve criar o seguinte no metastore Databricks Unity Catalog :
- Uma conexão com seu banco de dados Teradata.
 - Um catálogo externo que espelha o banco de dados Teradata no Unity Catalog para que o senhor possa usar a sintaxe de consulta do Unity Catalog e as ferramentas de governança de dados para gerenciar o acesso do usuário do Databricks ao banco de dados.
 
Antes de começar
Antes de começar, verifique se você atende aos requisitos desta seção.
Requisitos do Databricks
Requisitos do workspace:
- Espaço de trabalho preparado para o Catálogo do Unity.
 
Requisitos de computação:
- Conectividade de rede do seu recurso compute para os sistemas de banco de dados de destino. Veja as recomendações do Networking para a Lakehouse Federation.
 - Databricks compute deve usar o site Databricks Runtime 16.1 ou acima e o modo de acesso Standard ou Dedicated .
 - SQL O armazém deve ser pro ou serverless e deve usar 2024.50 ou acima.
 
Permissões necessárias:
- Para criar uma conexão, é preciso ser administrador de metastore ou usuário com o privilégio 
CREATE CONNECTIONno metastore do Unity Catalog anexado ao espaço de trabalho. - Para criar um catálogo externo é preciso ter a permissão 
CREATE CATALOGno metastore e ser proprietário da conexão ou ter o privilégioCREATE FOREIGN CATALOGna conexão. 
Outros requisitos de permissão são definidos em cada seção baseada em tarefa a seguir.
Teradata TLS
- É possível selecionar entre os modos SSL 
require,prefer,verify-caeverify-full. Se você não usa TLS (não recomendado), escolhaprefer(o número da porta pode ser configurado). Se você estiver usando TLS, qualquer opção será suficiente (a porta será 443) (verify-caeverify-fullfortalecem a segurança da conexão, mas requerem mais configuração no lado do servidor). Para obter mais informações, consulte Como proteger conexões usando TLS na documentação da Teradata. 
Criar uma conexão com o Databricks
A conexão especifica um caminho e as credenciais para acessar um sistema de banco de dados externo. Para criar uma conexão, você pode usar o Catalog Explorer ou o comando CREATE CONNECTION do SQL em um Notebook do Databricks ou no editor de consultas SQL do Databricks.
O senhor também pode usar a API REST da Databricks ou a CLI da Databricks para criar uma conexão. Veja POST /api/2.1/unity-catalog/connections e Unity Catalog comando.
Permissões necessárias: Administrador do Metastore ou usuário com o privilégio CREATE CONNECTION.
- Catalog Explorer
 - SQL
 
- 
Em seu site Databricks workspace, clique em
Catalog .
 - 
Na parte superior do painel Catálogo , clique no ícone
Adicionar e selecione Adicionar uma conexão no menu.
Como alternativa, na página de acesso rápido , clique no botão Dados externos >, acesse a tab Conexões e clique em Criar conexão .
 - 
Na página Noções básicas de conexão do assistente de configuração de conexão , insira um nome de conexão fácil de usar.
 - 
Selecione um tipo de conexão de Teradata .
 - 
(Opcional) Adicione um comentário.
 - 
Clique em Avançar .
 - 
Na página Autenticação , insira as seguintes propriedades de conexão para a instância Teradata:
- Anfitrião : Por exemplo, 
teradata-demo.teradata.com - Porto : Por exemplo, 
1025 - Usuário : Por exemplo, 
teradata_user - Senha : Por exemplo, 
password123 - Modo SSL : 
require,prefer,verify-ca,verify-full 
 - Anfitrião : Por exemplo, 
 - 
Clique em Criar conexão .
 - 
Na página Noções básicas do catálogo , insira um nome para o catálogo estrangeiro. Um catálogo externo espelha um banco de dados em um sistema de dados externo para que o senhor possa consultar e gerenciar o acesso aos dados desse banco de dados usando o Databricks e o Unity Catalog.
 - 
(Opcional) Clique em Testar conexão para confirmar se está funcionando.
 - 
Clique em Criar catálogo .
 - 
Na página Access (Acesso) , selecione o espaço de trabalho no qual os usuários podem acessar o catálogo que o senhor criou. O senhor pode selecionar All workspace have access (Todos os espaços de trabalho têm acesso ) ou clicar em Assign to workspace (Atribuir ao espaço de trabalho), selecionar o espaço de trabalho e clicar em Assign (Atribuir ).
 - 
Altere o proprietário que poderá gerenciar o acesso a todos os objetos no catálogo. começar a digitar um diretor na caixa de texto e, em seguida, clicar no diretor nos resultados retornados.
 - 
Conceda privilégios no catálogo. Clique em Conceder :
- 
Especifique os diretores que terão acesso aos objetos no catálogo. começar a digitar um diretor na caixa de texto e, em seguida, clicar no diretor nos resultados retornados.
 - 
Selecione as predefinições de privilégios a serem concedidas a cada diretor. Todos os usuários de account recebem
BROWSEpor default.- Selecione Leitor de dados no menu suspenso para conceder privilégios 
readem objetos no catálogo. - Selecione Editor de dados no menu suspenso para conceder os privilégios 
reademodifyaos objetos no catálogo. - Selecione manualmente os privilégios a serem concedidos.
 
 - Selecione Leitor de dados no menu suspenso para conceder privilégios 
 - 
Clique em Conceder .
 
 - 
 - 
Clique em Avançar .
 - 
Na página Metadata (Metadados ), especifique as tags em key-value. Para obter mais informações, consulte Apply tags to Unity Catalog securable objects.
 - 
(Opcional) Adicione um comentário.
 - 
Clique em Salvar .
 
Execute o seguinte comando em um Notebook ou no editor de consultas Databricks SQL:
CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>',
  ssl_mode '<ssl_mode>' -- optional
);
Databricks recomenda que o senhor use Databricks segredos em vez de texto simples strings para valores confidenciais, como credenciais. Por exemplo:
CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>'),
  ssl_mode '<ssl_mode>' -- optional
)
Se o senhor precisar usar o texto simples strings no Notebook SQL comando, evite truncar as cadeias de caracteres escapando de caracteres especiais como $ com \. Por exemplo: \$.
Para obter informações sobre a configuração de segredos, consulte Gerenciamento de segredos.
Crie um catálogo estrangeiro
Se o senhor usar a interface do usuário para criar uma conexão com a fonte de dados, a criação do catálogo externo estará incluída e o senhor poderá ignorar essa etapa.
Um catálogo externo espelha um banco de dados em um sistema de dados externo para você consultar e gerenciar o acesso aos dados nesse banco de dados com Databricks e Unity Catalog. Para criar um catálogo externo, utiliza-se uma conexão com a fonte de dados que já foi definida.
Para criar um catálogo externo, o senhor pode usar o Catalog Explorer ou o comando CREATE FOREIGN CATALOG SQL em um Notebook Databricks ou o editor de consultas SQL. O senhor também pode usar a API REST da Databricks ou a CLI da Databricks para criar um catálogo. Veja POST /api/2.1/unity-catalog/catalogs e Unity Catalog comando.
Permissões necessárias: permissão CREATE CATALOG na metastore e propriedade da conexão ou o privilégio CREATE FOREIGN CATALOG na conexão.
- Catalog Explorer
 - SQL
 
- 
Em seu site Databricks workspace, clique em
Catalog para abrir o Catalog Explorer.
 - 
Na parte superior do painel Catálogo , clique no ícone
Adicionar e selecione Adicionar um catálogo no menu.
Como alternativa, na página de acesso rápido , clique no botão Catálogos e no botão Criar catálogo .
 - 
Siga as instruções para criar catálogos estrangeiros em Criar catálogos.
 
Execute o seguinte comando SQL em um editor de consultas do Notebook ou SQL. Os itens entre colchetes são opcionais. Substitua os valores do espaço reservado:
<catalog-name>: Nome para o catálogo no Databricks.<connection-name>: O objeto de conexão que especifica a fonte de dados, o caminho e as credenciais de acesso.<database-name>: Nome do banco de dados que você deseja espelhar como um catálogo no Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
Pushdowns suportados
Os seguintes pushdowns são suportados:
- Filtros
 - Projeções
 - Limite
 - Agregados
 - Elenco
 - Contém, começa com, termina com, curte
 
Mapeamentos de tipos de dados
Quando o senhor lê do Teradata para o Spark, os tipos de dados são mapeados da seguinte forma:
Tipo de Teradata  | Spark tipo  | 
|---|---|
Byte, Blob  | Tipo binário  | 
Byteint, Smallint, Integer  | Tipo de número inteiro  | 
BigInt  | Tipo longo  | 
Flutuação, dupla, precisão dupla  | Tipo duplo  | 
Número (n, m)  | Tipo decimal  | 
Número (*, m), Número (*), Número  | Sem compatibilidade  | 
Varchar (N)  | Tipo de string  | 
Hora, carimbo de data/hora  | timestampType  |