transmissão da do Unity Catalog view
Visualização
Esse recurso está na Visualização pública.
No Databricks Runtime 14.1 e acima, você pode usar transmissão estructurada para realizar leituras de transmissão da view registrada no Unity Catalog. Databricks suporta apenas leituras de transmissão da view definida em tabelas Delta.
Leia uma visualização como uma transmissão
Para ler uma view com transmissão estruturada, forneça o identificador da view ao método .table()
, como no exemplo a seguir:
df = (spark.readStream
.table("demoView")
)
Os usuários devem ter privilégios SELECT
na view de destino.
Opções suportadas para configurar leituras de transmissão em relação view
As seguintes opções são suportadas ao configurar leituras de transmissão em relação ao view:
maxFilesPerTrigger
maxBytesPerTrigger
ignoreDeletes
skipChangeCommits
withEventTimeOrder
startingTimestamp
startingVersion
O leitor de transmissão aplica essas opções aos arquivos e metadados que definem as tabelas Delta subjacentes.
Importante
As leituras na view definida com UNION ALL
não suportam as opções withEventTimeOrder
e startingVersion
.
Operações suportadas na viewde origem
Nem todas view suportam leituras de transmissão. As operações não suportadas na view de origem incluem agregações e classificação.
A lista a seguir fornece descrições e exemplos de definições view para operações suportadas:
Projeto
Descrição: Controla permissões em nível de coluna
Operador:
SELECT... FROM...
Declaração de exemplo:
CREATE VIEW project_view AS SELECT id, value FROM source_table
Filtrar
Descrição: Controla permissões em nível de linha
Operador:
WHERE...
Declaração de exemplo:
CREATE VIEW filter_view AS SELECT * FROM source_table WHERE value > 100
União tudo
Descrição: Resultados de múltiplas tabelas
Operador:
UNION ALL
Declaração de exemplo:
CREATE VIEW union_view AS SELECT id, value FROM source_table1 UNION ALL SELECT * FROM source_table2
Observação
Você não pode modificar a definição view para adicionar ou alterar as tabelas referenciadas na view e utilizar o mesmo checkpoint de transmissão.
Limitações
As seguintes limitações se aplicam:
Você só pode transmitir a partir de view apoiadas em tabelas Delta. view definidas em outras fontes de dados não são suportadas.
Você deve view o registro com o Unity Catalog.
A exceção a seguir será exibida se você transmitir de uma 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 seguinte exceção é exibida se você fornecer opções não suportadas: ``` AnalysisException: [UNSUPPORTED_STREAMING_OPTIONS_FOR_VIEW.UNSUPPORTED_OPTION] Unsupported for transmissão a view. Motivo: a opção <option> não é suportada. ```