Uso do Unity Catalog com Transmissão Estruturada
Use Transmissão Estruturada com o Unity Catalog para gerenciar a governança de dados para suas cargas de trabalho incrementais e de transmissão no Databricks. Este documento descreve as funcionalidades suportadas e sugere as melhores práticas para usar o Unity Catalog e a Transmissão Estruturada juntos.
Qual funcionalidade de Transmissão Estruturada é compatível com o Unity Catalog?
O Unity Catalog não adiciona limites explícitos para fontes e coletores estruturados de transmissão disponíveis no Databricks. O modelo de governança de dados do Unity Catalog permite a transmissão de dados de tabelas gerenciadas e externas no Unity Catalog. Você também pode usar locais externos gerenciados pelo Unity Catalog para interagir com URIs de armazenamento de objeto de uso de dados. Você pode gravar em tabelas externas usando nomes de tabela ou caminhos de arquivo. Você deve interagir com tabelas gerenciadas no Unity Catalog usando o nome da tabela.
Use locais externos gerenciados por Unity Catalog ao especificar caminhos para pontos de verificação de transmissão estruturada. Para saber mais sobre como conectar o armazenamento de forma segura com Unity Catalog, consulte Conectar-se ao armazenamento de objetos e serviços cloud usando Unity Catalog.
O suporte ao recurso de transmissão estruturada difere dependendo da versão do Databricks Runtime que você está executando e se você está usando o modo de acesso clusters atribuídos ou compartilhados. Para obter detalhes, consulte limitações de transmissão para o Unity Catalog.
Para obter uma demonstração completa usando a Transmissão Estruturada no Unity Catalog, consulte Tutorial: Execute um pipeline de análise de lakehouse de ponta a ponta.
Qual funcionalidade de Transmissão estruturada não é suportada no Unity Catalog?
Para obter uma lista de recursos de transmissão estruturados que não são suportados no Unity Catalog, consulte limitações de transmissão para o Unity Catalog.
Leia em Unity Catalog view as a transmissão
Prévia
Esse recurso está em Prévia Pública.
Em Databricks Runtime 14.1 e acima, o senhor pode usar a transmissão estruturada para realizar leituras de transmissão da visualização registrada em Unity Catalog. Databricks suporta apenas leituras de transmissão da visualização definida nas tabelas Delta.
Para ler um view com transmissão estruturada, forneça o identificador do view para o método .table()
, como no exemplo a seguir:
df = (spark.readStream
.table("demoView")
)
Os usuários devem ter privilégios SELECT
no destino view.
Opções compatíveis para configurar leituras de transmissão em relação à visualização
As opções a seguir são compatíveis com a configuração de leituras de transmissão em relação à visualização:
maxFilesPerTrigger
maxBytesPerTrigger
ignoreDeletes
skipChangeCommits
withEventTimeOrder
startingTimestamp
startingVersion
O leitor de transmissão aplica essas opções aos arquivos e metadados que definem as tabelas subjacentes do site Delta.
Importante
As leituras na visualização definida com UNION ALL
não são compatíveis com as opções withEventTimeOrder
e startingVersion
.
Operações suportadas na visualização de origem
Nem todas as visualizações suportam leituras de transmissão. As operações não suportadas na visualização de origem incluem agregações e classificação.
A lista a seguir fornece descrições e exemplos de definições do site view para as operações suportadas:
Projeto
Descrição: Controla as permissões em nível de coluna
Operador:
SELECT... FROM...
Exemplo de declaração:
CREATE VIEW project_view AS SELECT id, value FROM source_table
Filtrar
Descrição: Controla as permissões em nível de linha
Operador:
WHERE...
Exemplo de declaração:
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100
Union all
Descrição: Resultados de várias tabelas
Operador:
UNION ALL
Exemplo de declaração:
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2
Observação
O senhor não pode modificar a definição do site view para adicionar ou alterar as tabelas referenciadas no site view e usar o mesmo ponto de verificação de transmissão.
Limitações
Aplicam-se as seguintes limitações:
O senhor só pode transmitir a partir da visualização apoiada pelas tabelas Delta. A visualização definida em relação a outras fontes de dados não é suportada.
O senhor deve registrar a visualização com Unity Catalog.
A seguinte exceção é exibida se o senhor transmitir de um view com um operador não suportado:
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.
A exceção a seguir é exibida se você fornecer opções não suportadas:
AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for streaming a view. Reason: option <option> is not supported.