Catálogos externos
Crie catálogos externos para obter dados de um local fora do Oracle AI Data Platform.
Catálogos externos conectam a Plataforma de Dados de IA a origens de dados externas, como Oracle Autonomous AI Lakehouse, Oracle AI Database e Oracle Autonomous AI Transaction Processing, e lojas de terceiros, como Snowflake, Azure SQL e MySQL. A AI Data Platform descobre e sincroniza metadados dessas origens no Catálogo Mestre, permitindo que os usuários procurem e consultem esquemas e tabelas remotos sem duplicar os dados subjacentes.
Os catálogos externos usam as credenciais fornecidas durante a criação do catálogo externo para consultar a origem externa. Para obter mais informações sobre origens de dados, consulte Origens Internas.
Por exemplo, se você criar um catálogo externo para uma instância do Autonomous AI Lakehouse em que as credenciais de usuário do Autonomous AI Lakehouse usadas tenham acesso ao schema1, mas não ao schema2, somente o schema1 aparecerá no catálogo externo. Os usuários com permissões para o catálogo externo só podem consultar o esquema ao qual o usuário do Autonomous AI Lakehouse tem acesso.
Observação:
A AI Data Platform não suporta a coleta de dados de esquemas e tabelas compartilhados entre Bancos de Dados Plugáveis (PDBs) ou de esquemas e tabelas mantidos pela Oracle.Permissões Obrigatórias para o Autonomous AI Lakehouse e o Autonomous AI Transaction Processing
- CREATE SESSION para estabelecer conexão com o banco de dados
- SELECT acesso nos objetos necessários (tabelas/visualizações/tabelas externas) por meio de concessões de privilégio mínimo ou uma atribuição de leitura dedicada
- READ, WRITE on DIRECTORY DATA_PUMP_DIR
Limitações
A operação UPDATE não é suportada para catálogos externos. Use tabelas de catálogo externo para descoberta e acesso à consulta.
Não há suporte para DDL, mesmo quando as credenciais usadas para criar o catálogo externo têm permissões para executar instruções DDL.
- Se você fornecer o nome da tabela em letras maiúsculas, a tabela será criada usando letras maiúsculas e seguirá o comportamento padrão sem distinção entre maiúsculas e minúsculas no Autonomous AI Lakehouse.
- Se você fornecer o nome da tabela em letras minúsculas, a tabela será criada com distinção entre maiúsculas e minúsculas no Autonomous AI Lakehouse. Os nomes de coluna das tabelas criadas por meio do Autonomous AI Lakehouse sempre são criados com distinção entre maiúsculas e minúsculas.
- Os comentários da coluna de origem estão limitados a 256 bytes UTF-8 durante a ingestão e atualização do catálogo externo. O limite é medido em bytes, não em caracteres; portanto, os comentários que contêm caracteres multibyte podem exceder o limite quando contêm 256 caracteres ou menos. Exceder o limite pode causar falha na ingestão ou atualização de metadados. Reduza o comentário da coluna de origem para 256 bytes UTF-8 ou menos e tente novamente.
Criar um Catálogo Externo
Você pode conectar um catálogo da sua instância do Oracle AI Data Platform a uma origem externa.
Criar um Catálogo Externo para Redes Privadas
Você pode criar um catálogo externo que acesse origens de dados em uma rede privada.
Como conectar o Oracle Autonomous AI Database on Exadata Cloud@Customer à Oracle AI Data Platform
Você pode criar um catálogo externo para um banco de dados Oracle Autonomous AI Transaction Processing, Oracle Autonomous AI Database ou Oracle Autonomous AI Lakehouse em execução no Oracle Autonomous AI Database on Exadata Cloud@Customer. Quando o banco de dados estiver acessível apenas por meio de uma rede privada, configure um espaço de trabalho do AI Data Platform com acesso à rede privada e os detalhes do SCAN do banco de dados.
A conexão usa TLS com uma wallet de credenciais do cliente.
Requisitos
- O banco de dados é provisionado e está disponível.
- Você fez download da wallet de credenciais do cliente do banco de dados.
- Você sabe o nome de domínio totalmente qualificado do SCAN do banco de dados e a porta do listener TLS.
- O nome do SCAN pode ser resolvido na rede privada usada pelo espaço de trabalho da AI Data Platform.
- As rotas de rede e as regras de segurança permitem o tráfego da rede do espaço de trabalho para a porta do listener do banco de dados.
- Você tem permissão para inspecionar a VCN, a sub-rede e os grupos de segurança de rede necessários.
- O usuário do banco de dados tem os privilégios CREATE SESSION e SELECT nos esquemas e objetos que você deseja expor por meio do catálogo externo.
- O usuário do banco de dados tem todas as permissões adicionais necessárias para as operações de leitura ou gravação pretendidas.
Criar um espaço de trabalho com conectividade privada
- Forneça a VCN e a Sub-rede que fornecem conectividade com o ambiente do Oracle Exadata Cloud@Customer.
- Em Opções de rede avançadas, selecione Minhas origens de dados exigem acesso por meio de um proxy SCAN.
- Informe o nome de domínio totalmente qualificado do SCAN do banco de dados.
- Informe a porta do listener TLS do banco de dados.
Criar o catálogo externo
- Para Tipo de origem externa, selecione Oracle Autonomous AI Transaction Processing.
- Para Método de conexão, selecione Carteira.
- Faça upload da wallet de credenciais do cliente baixada do banco de dados.
- Selecione o serviço de banco de dados necessário na wallet.
- Forneça a senha da wallet, se necessário.
- Selecione o espaço de trabalho configurado acima com acesso à rede de banco de dados e ao endereço SCAN.
- Teste a conexão para confirmar que tudo está configurado corretamente.
Validar a Conexão
- Confirme se os esquemas e tabelas esperados aparecem no catálogo externo.
- Inicie ou selecione um cluster de computação no espaço de trabalho privado.
- Consulte uma tabela descoberta usando seu nome de três partes:
SELECT *
FROM <catalog_name>.<schema_name>.<table_name>;Atualizar um Catálogo de Dados Externo
Você pode atualizar um catálogo externo no Oracle AI Data Platform para sincronizar seu conteúdo com a origem externa.
Atualizar um Catálogo Externo utilizando SQL
Você pode usar a gramática SQL para atualizar metadados de um catálogo externo, bem como seu esquema e tabelas, para sincronizar o conteúdo com a origem externa.
Para atualizar um catálogo externo, use os seguintes comandos SQL em um notebook:
REFRESH EXTERNAL CATALOG <<catalog_name>>Para atualizar um esquema em um catálogo externo, use:
REFRESH SCHEMA IN EXTERNAL CATALOG <<catalog_name.schema_name>>Para atualizar uma tabela em um esquema em um catálogo externo, use:
REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>Para obter mais informações, consulte Gramática de SQL.
Renomear um Catálogo Externo
Você poderá renomear um catálogo externo se seu conteúdo ou finalidade tiver sido alterado.
Editar uma Descrição do Catálogo Externo
É possível modificar a descrição de um catálogo externo se seu conteúdo ou finalidade tiver sido alterado.
Alterar a Senha de um Catálogo Externo
Você pode atualizar a senha obrigatória para um catálogo externo para que ele possa continuar acessando a origem.
- No painel de navegação esquerdo, clique em
Catálogo mestre. - Na guia Catálogos, localize seu catálogo e clique em
Ações e, em seguida, clique em Alterar senha. - Informe a nova senha do catálogo externo e clique em Salvar.
Excluir um Catálogo Externo
Você pode excluir um catálogo externo quando ele não for mais necessário.
A exclusão de um catálogo externo só exclui os metadados armazenados localmente. Os dados na origem de dados externa não são impactados.
Excluir Dados de Tabelas em um Catálogo Externo
Você pode usar o caminho de gravação do Spark para excluir linhas de uma tabela de catálogo externo quando o catálogo e a tabela forem configurados para suportar pushdown SQL DELETE.
Usar ID do Catálogo para Excluir Dados da Tabela: Exemplo Python
from pyspark.sql.types import StructType
df = spark.createDataFrame([], StructType([]))
df.write
.format("aidataplatform")
.option("catalog.id", "<catalog>")
.option("pushdown.sql", "DELETE FROM <schema>.<target_table> WHERE ID = 2")
.save()
Usar ID Catálogo para Excluir Dados da Tabela: Exemplo do Scala
val df = spark.emptyDataFrame
df.write
.format("aidataplatform")
.option("catalog.id", "<catalog>")
.option("pushdown.sql", "DELETE FROM <schema>.<target_table> WHERE ID = 2")
.save()
Exemplo de estilo de ingestão para excluir dados de tabela: exemplo Python
from pyspark.sql.types import StructType
df = spark.createDataFrame([], StructType([]))
df.write
.format("aidataplatform")
.option("data.asset.type", "ORACLE_ALH")
.option("tns.alias", alhTns)
.option("user.name", userName)
.option("wallet.content", alhWalletContent)
.option("password", alhPassword)
.option("pushdown.sql", "DELETE FROM ADMIN.PUSHDOWN_FEATURE WHERE ID = 2")
.save()Exemplo de estilo de ingestão para excluir dados da tabela: Exemplo do Scala
val df = spark.emptyDataFrame
df.write
.format("aidataplatform")
.option("data.asset.type", "ORACLE_ALH")
.option("tns.alias", alhTns)
.option("user.name", userName)
.option("wallet.content", alhWalletContent)
.option("password", alhPassword)
.option("pushdown.sql", "DELETE FROM ADMIN.PUSHDOWN_FEATURE WHERE ID = 2")
.save()


