Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esta página mostra como usar o Streaming Estruturado com o Catálogo do Unity para gerenciar a governança de dados para suas cargas de trabalho incrementais e de streaming em Azure Databricks.
Quais funcionalidades do Structured Streaming são suportadas pelo Unity Catalog?
O Catálogo do Unity não adiciona limites explícitos para fontes e coletores de Streaming Estruturados disponíveis no Azure Databricks.
Com o Catálogo do Unity e o Streaming Estruturado, você pode:
- Transmitir dados de tabelas gerenciadas e externas. Consulte tabelas gerenciadas pelo Unity Catalog no Azure Databricks para Delta Lake e Apache Iceberg.
- Use locais externos gerenciados pelo Catálogo do Unity para interagir com dados usando URIs de armazenamento de objetos.
- Escreva em tabelas externas usando nomes de tabela ou caminhos de arquivo. Para interagir com tabelas gerenciadas, você deve usar o nome da tabela.
Para pontos de verificação de streaming estruturados, você deve usar caminhos em locais externos gerenciados pelo Catálogo do Unity. Para saber mais sobre como conectar o armazenamento com segurança ao Catálogo do Unity, consulte Conectar-se ao armazenamento de objetos de nuvem usando o Catálogo do Unity.
Ler uma visualização do Unity Catalog como um fluxo
A partir do Databricks Runtime 14.3 LTS e versões posteriores, você pode usar o Structured Streaming para ler views registradas no Unity Catalog. As tabelas subjacentes devem usar o formato Delta Lake. Para outras limitações, consulte Limitações.
Para ler uma visão com Streaming Estruturado, use o método .table() com o identificador da visão:
df = (spark.readStream
.table("demoView")
)
Os usuários precisam ter privilégios SELECT na visualização de destino.
Se você modificar a definição da visão para adicionar ou alterar as tabelas referenciadas na visão, não poderá usar o mesmo ponto de verificação de streaming.
Opções de streaming com suporte
O leitor de streaming aplica opções aos arquivos e metadados das tabelas Delta subjacentes para o modo de exibição especificado.
Há suporte para as seguintes opções:
maxFilesPerTriggermaxBytesPerTriggerignoreDeletesskipChangeCommitswithEventTimeOrderstartingTimestampstartingVersion
Operações de leitura em exibições com UNION ALL não oferecem suporte às opções withEventTimeOrder e startingVersion.
Se você fornecer opções sem suporte, como readChangeFeedo Spark, gerará esta exceção:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.
Operações de streaming com suporte
As operações com suporte incluem:
| Operação | Description | Operator | Example |
|---|---|---|---|
| Projeto | Controla permissões no nível da coluna | SELECT... FROM... |
CREATE VIEW project_view AS SELECT id, value FROM source_table |
| Filter | Controla permissões em nível de linha | WHERE... |
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100 |
| União de todos | Resultados de várias tabelas | UNION ALL |
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2 |
As operações sem suporte incluem agregações, classificação e funções com valor de tabela, como table_changes(). Para obter detalhes sobre funções com valor de tabela, consulte a invocação de TVF (função com valor de tabela).
Se você transmitir de um modo de exibição com uma operação sem suporte, o Spark gerará esta exceção:
UnsupportedOperationException: [UNEXPECTED_OPERATOR_IN_STREAMING_VIEW] Unexpected operator <operator> in the CREATE VIEW statement as a streaming source. A streaming view query must consist only of SELECT, WHERE, and UNION ALL operations.
Limitações
- Não há suporte para o modo de processamento contínuo do Apache Spark. Consulte Processamento contínuo no Guia de programação de streaming estruturado do Spark.
- Para obter uma lista de recursos de Structured Streaming que não têm suporte no Unity Catalog com base no modo de acesso de computação, consulte Limitações de Streaming e Streaming e Requisitos de Exibição Materializados na Computação Dedicada.
- Exibições como uma fonte de streaming têm limitações adicionais:
- Você só pode fazer streaming a partir de visualizações que consultam tabelas Delta. Não há suporte para outras fontes de dados.
- Você deve registrar visualizações com o Unity Catalog. Consulte Criar uma exibição.
- Leituras de streaming em visualizações não oferecem suporte a todas as operações ou opções. Consulte as operações de streaming com suporte e as opções de streaming com suporte.