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.
Este artigo fornece uma referência sobre a especificação de configurações JSON de pipelines e as propriedades de tabelas nos Pipelines Declarativos Spark do Lakeflow. Para obter mais detalhes sobre como usar essas várias propriedades e configurações, consulte os seguintes artigos:
Configurações de pipeline
idTipo:
stringUm identificador globalmente exclusivo para esse pipeline. O identificador é atribuído pelo sistema e não pode ser alterado.
nameTipo:
stringUm nome amigável para esse pipeline. O nome pode ser usado para identificar trabalhos de pipeline na interface do usuário.
configurationTipo:
objectUma lista opcional de configurações a serem adicionadas à configuração do Spark do cluster que executa o pipeline. Essas configurações são lidas pelo runtime do Lakeflow Spark Declarative Pipelines e estão disponíveis para consultas de pipeline por meio da configuração do Spark.
Os elementos precisam ser formatados como pares
key:value.parametersTipo:
objectImportante
Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Visualizações . Consulte Gerenciar visualizações do Azure Databricks.
Um mapa opcional de pares chave-valor que o código-fonte do pipeline pode referenciar usando a sintaxe de parâmetro nomeada (por exemplo,
:source_catalog). Use parâmetros para reutilizar o mesmo código-fonte de pipeline entre ambientes ou conjuntos de dados sem editar a origem.As chaves podem conter caracteres alfanuméricos, sublinhados (
_), hifens (-) e períodos (.). Os valores são sempre cadeias de caracteres.Você pode substituir esses padrões ao iniciar uma atualização, em uma tarefa de pipeline em um trabalho ou com parâmetros de trabalho pushed-down. Os parâmetros de pipeline só podem ser referenciados no código-fonte do SQL. Consulte Usar parâmetros com pipelines.
librariesTipo:
array of objectsUm array de arquivos de código que contém o código do pipeline e os artefatos necessários.
clustersTipo:
array of objectsUma matriz de especificações para os clusters executarem o pipeline.
Se isso não for especificado, os pipelines selecionarão automaticamente uma configuração de cluster padrão para o pipeline.
developmentTipo:
booleanUm sinalizador que indica se o pipeline deve ser executado no modo
developmentou no modoproduction.O valor padrão é
false.notificationsTipo:
array of objectsUma matriz opcional de especificações para notificações por email quando uma atualização de pipeline é concluída, falha com um erro repetível, falha com um erro não repetível ou um fluxo falha.
continuousTipo:
booleanUm sinalizador que indica se o pipeline deve ser executado continuamente.
O valor padrão é
false.catalogTipo:
stringO nome do catálogo padrão para o pipeline, em que todos os conjuntos de dados e metadados do pipeline são publicados. Definir esse valor habilita o Catálogo do Unity para o pipeline.
Se não for definido, o pipeline será publicado no metastore do Hive herdado usando o local especificado em
storage.No modo de publicação herdado, especifica o catálogo que contém o esquema de destino em que todos os conjuntos de dados do pipeline atual são publicados. Confira Esquema LIVE (herdado).
schemaTipo:
stringO nome do esquema padrão para o pipeline, em que todos os conjuntos de dados e metadados para o pipeline são publicados por padrão. Confira Definir o catálogo e o esquema de destino.
target(herdado)Tipo:
stringO nome do esquema de destino em que todos os conjuntos de dados definidos no pipeline atual são publicados.
Definir
targetem vez deschemaconfigura o pipeline para usar o modo de publicação herdado. Confira Esquema LIVE (herdado).storage(herdado)Tipo:
stringUm local no DBFS ou no armazenamento em nuvem em que os dados de saída e os metadados necessários para a execução do pipeline são armazenados. As tabelas e os metadados são armazenados em subdiretórios desse local.
Quando a configuração
storagenão for especificada, o sistema usará como padrão local emdbfs:/pipelines/.A configuração
storagenão pode ser alterada depois que um pipeline é criado.channelTipo:
stringA versão do runtime do Lakeflow Spark Declarative Pipelines a ser usada. Os valores com suporte são:
-
previewpara testar seu pipeline com as próximas alterações na versão de runtime. -
currentpara usar a versão de runtime atual.
O campo
channelé opcional. O valor padrão écurrent. O Databricks recomenda usar a versão atual do runtime para cargas de trabalho de produção.-
editionDigite
stringA versão do produto Lakeflow Spark Declarative Pipelines para executar o pipeline. A configuração permite escolher a melhor edição do produto com base nos requisitos do pipeline:
-
COREpara executar workloads de ingestão de streaming. -
PROpara executar cargas de trabalho de ingestão de streaming e de captura de dados de alterações (CDA). -
ADVANCEDpara executar cargas de trabalho de ingestão de streaming, cargas de trabalho CDC e cargas de trabalho que exigem expectativas para impor restrições de qualidade de dados.
O campo
editioné opcional. O valor padrão éADVANCED.-
photonTipo:
booleanUm sinalizador que indica se O que é o Photon? deve ser usado para executar o pipeline. O Photon é o mecanismo Spark de alto desempenho do Azure Databricks. Os pipelines habilitados para ele são cobrados a uma taxa diferente dos pipelines que não se destinam ao Photon.
O campo
photoné opcional. O valor padrão éfalse.pipelines.maxFlowRetryAttemptsTipo:
intSe ocorrer uma falha de repetição durante uma atualização de pipeline, esse será o número máximo de vezes para tentar novamente um fluxo antes de falhar na atualização do pipeline.
Use isso para associar novas tentativas em um único fluxo propenso a falhas repetíveis para que ele não possa parar uma atualização inteira.
Padrão: duas tentativas adicionais. Quando ocorre uma falha recorrente, o runtime do Lakeflow Spark Declarative Pipelines tenta executar o fluxo três vezes, incluindo a tentativa original.
pipelines.numUpdateRetryAttemptsTipo:
intSe ocorrer uma falha passível de repetição durante uma atualização, este é o número máximo de vezes para tentar novamente a atualização antes que a atualização falhe permanentemente. A repetição é executada como uma atualização completa.
Use isso para associar novas tentativas em uma atualização inteira, de modo que uma atualização paralisada falhe permanentemente em vez de tentar novamente indefinidamente.
Esse parâmetro se aplica somente a pipelines usando o comportamento automático de repetição e reinicialização. As novas tentativas não são tentadas para que as atualizações ad hoc sejam executadas no editor ou quando você executa uma
Validateatualização.Default:
- Cinco pipelines disparados.
- Ilimitado para pipelines contínuos.
Propriedades da tabela de pipeline
Além das propriedades da tabela com suporte do Delta Lake, você pode definir as propriedades da tabela a seguir.
pipelines.autoOptimize.zOrderColsPadrão: nenhum
Uma cadeia de caracteres opcional que contém uma lista separada por vírgula de nomes de colunas para ordenar essa tabela pela ordem z. Por exemplo,
pipelines.autoOptimize.zOrderCols = "year,month"O Databricks recomenda clustering líquido em vez de ordenação Z para otimizar o layout de dados em tabelas de pipeline. Consulte Usar clustering líquido para tabelas.
pipelines.reset.allowedPadrão:
trueControla se uma atualização completa é permitida nessa tabela.
pipelines.autoOptimize.managedPadrão:
trueHabilita ou desabilita a otimização agendada automática desta tabela.
Para pipelines gerenciados por otimização preditiva, essa propriedade não é usada.
Intervalo de gatilho de pipelines
Você pode especificar um intervalo de gatilho de pipeline para todo o pipeline ou como parte de uma declaração de conjunto de dados. Consulte Definir intervalo de gatilho para pipelines contínuos.
pipelines.trigger.intervalO padrão é baseado no tipo de fluxo:
- Cinco segundos para consultas de streaming.
- Um minuto para consultas completas quando todos os dados de entrada são de fontes Delta.
- Dez minutos para consultas completas quando algumas fontes de dados podem não ser Delta.
O valor é um número mais a unidade de tempo. Estas são as unidades de tempo válidas:
-
second,seconds -
minute,minutes -
hour,hours -
day,days
Você pode usar a unidade no singular ou no plural ao definir o valor, por exemplo:
{"pipelines.trigger.interval" : "1 hour"}{"pipelines.trigger.interval" : "10 seconds"}{"pipelines.trigger.interval" : "30 second"}{"pipelines.trigger.interval" : "1 minute"}{"pipelines.trigger.interval" : "10 minutes"}{"pipelines.trigger.interval" : "10 minute"}
Atributos de cluster que não são configuráveis pelo usuário
Como o Lakeflow Spark Declarative Pipelines (SDP) gerencia ciclos de vida de cluster, muitas configurações de cluster são definidas pelo sistema e não podem ser configuradas manualmente pelos usuários, seja em uma configuração de pipeline ou em uma política de cluster usada por um pipeline. A tabela a seguir lista essas configurações e por que elas não podem ser definidas manualmente.
cluster_nameO SDP define os nomes dos clusters usados para executar atualizações de pipeline. Esses nomes não podem ser substituídos.
data_security_modeaccess_modeEsses valores são definidos automaticamente pelo sistema.
spark_versionOs clusters SDP são executados em uma versão personalizada do Databricks Runtime que é atualizada continuamente para incluir os recursos mais recentes. A versão do Spark é agrupada com a versão do Databricks Runtime e não pode ser substituída.
autotermination_minutesComo o SDP gerencia a lógica de encerramento automático e reutilização do cluster, o tempo de término automático do cluster não pode ser substituído.
runtime_engineEmbora você possa controlar esse campo habilitando o Photon para seu pipeline, não é possível definir esse valor diretamente.
effective_spark_versionEsse valor é definido automaticamente pelo sistema.
cluster_sourceEsse campo é definido pelo sistema e é somente leitura.
docker_imageComo o SDP gerencia o ciclo de vida do cluster, você não pode usar um contêiner personalizado com clusters de pipeline.
workload_typeEsse valor é definido pelo sistema e não pode ser substituído.