Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece uma referência para a especificação de configuração JSON de pipeline e propriedades de tabela em Lakeflow Spark Declarative Pipelines. 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 global 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 processos de pipeline na interface.
configurationTipo:
objectUma lista opcional de definições para adicionar à configuração Spark do cluster que executa o pipeline. Essas configurações são lidas pelo tempo de execução do Lakeflow Spark Declarative Pipelines e estão disponíveis para consultas de pipeline por meio da configuração do Spark.
Os elementos devem ser formatados como
key:valuepares.parametersTipo:
objectImportant
Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Visualizações . Ver Gerir as pré-visualizações de Azure Databricks.
Um mapa opcional de pares-chave-valor que o código-fonte do pipeline pode referenciar usando sintaxe de parâmetros nomeados (por exemplo,
:source_catalog). Use parâmetros para reutilizar o mesmo código-fonte do pipeline entre ambientes ou conjuntos de dados sem editar a fonte.As teclas podem conter caracteres alfanuméricos, sublinhados (
_), hífens (-) e pontos (.). Os valores são sempre cadeias.Pode sobrescrever estes valores predefinidos ao iniciar uma atualização, numa tarefa de pipeline num trabalho, ou com parâmetros de trabalho pressionados para baixo. Os parâmetros do pipeline só podem ser referenciados a partir do código-fonte SQL. Consulte Usar parâmetros com pipelines.
librariesTipo:
array of objectsConjunto de ficheiros 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 isto 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 em modo
developmentouproduction.O valor predefinido é
false.notificationsTipo:
array of objectsUma lista opcional de especificações para notificações por e-mail quando uma atualização de pipeline é concluída, falha com um erro repetível, falha com um erro não repetível, ou quando um fluxo falha.
continuousTipo:
booleanUm indicador que indica se o pipeline deve ser executado continuamente.
O valor predefinido é
false.catalogTipo:
stringO nome do catálogo padrão para a pipeline, onde todos os conjuntos de dados e metadados para a pipeline são publicados. A definição desse valor habilita o Unity Catalog para o pipeline.
Caso não esteja configurado, o pipeline publica no metastore antigo do Hive usando o local especificado em
storage.No modo de publicação herdado, especifica o catálogo que contém o esquema de destino onde todos os conjuntos de dados do pipeline atual são publicados. Ver LIVE schema (legacy).
schemaTipo:
stringO nome do esquema padrão para o pipeline, onde todos os conjuntos de dados e metadados para o pipeline são publicados por padrão. Consulte Defina o catálogo de destino e o esquema.
target(legado)Tipo:
stringO nome do esquema de destino onde 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. Ver LIVE schema (legacy).storage(legado)Tipo:
stringUm local no DBFS ou armazenamento em nuvem onde os dados de saída e metadados necessários para a execução do pipeline são armazenados. Tabelas e metadados são armazenados em subdiretórios deste local.
Quando a configuração
storagenão for especificada, o sistema assumirá como padrão um local emdbfs:/pipelines/.A configuração
storagenão pode ser alterada depois que um pipeline é criado.channelTipo:
stringA versão do runtime de Lakeflow Spark Declarative Pipelines a utilizar. Os valores suportados são:
-
previewpara testar o seu pipeline com alterações futuras na versão de runtime. -
currentpara usar a versão atual do ambiente de execução.
O campo
channelé opcional. O valor predefinido écurrent. O Databricks recomenda utilizar a versão atual do runtime para cargas de trabalho de produção.-
editionTipo
stringA edição de produto do Lakeflow Spark Declarative Pipelines para executar o pipeline. Essa configuração permite que você escolha a melhor edição do produto com base nos requisitos do seu pipeline:
-
COREpara executar cargas de trabalho de ingestão de streaming. -
PROpara executar cargas de trabalho de ingestão contínua e captura de dados alterados (CDC). -
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 predefinido éADVANCED.-
photonTipo:
booleanUm indicador que indica se deve usar What is Photon? para executar o pipeline. Photon é o mecanismo Spark de alto desempenho do Azure Databricks. Os pipelines com Photon são cobrados a uma tarifa diferente dos pipelines sem Photon.
O campo
photoné opcional. O valor predefinido éfalse.pipelines.maxFlowRetryAttemptsTipo:
intSe ocorrer uma falha retentável durante uma atualização do pipeline, este é o número máximo de vezes para tentar novamente um flow antes de falhar a atualização do pipeline.
Usa isto para limitar retentativas num único fluxo que é propenso a falhas retentáveis, para que não possa atrasar toda a atualização.
Padrão: duas tentativas de nova tentativa. Quando ocorre uma falha que pode ser repetida, o runtime do Lakeflow Spark Declarative Pipelines tenta executar o fluxo três vezes, incluindo a tentativa original.
pipelines.numUpdateRetryAttemptsTipo:
intSe ocorrer uma falha repetida durante uma atualização, este é o número máximo de vezes para repetir a atualização antes de falhar permanentemente a atualização. A nova tentativa é executada como uma atualização completa.
Use isto para atribuir retentativas a uma atualização inteira, para que uma atualização bloqueada falhe permanentemente em vez de tentar novamente indefinidamente.
Este parâmetro aplica-se apenas a pipelines que utilizam comportamentos automáticos de retentativa e reinício. Não são tentadas retentativas para atualizações ad hoc executadas pelo editor ou quando executa uma
Validateatualização.Predefinição:
- Cinco para gasodutos acionados.
- Ilimitado para canais contínuos.
Propriedades da tabela de pipeline
Além das propriedades de tabela suportadas pelo Delta Lake, você pode definir as seguintes propriedades de tabela.
pipelines.autoOptimize.zOrderColsPadrão: Nenhum
Uma cadeia de caracteres opcional que contém uma lista de nomes de colunas, separados por vírgulas, para ordenar esta tabela por ordem Z. Por exemplo,
pipelines.autoOptimize.zOrderCols = "year,month"A Databricks recomenda clustering líquido em vez de ordenação Z para otimizar o layout dos dados nas tabelas de pipeline. Veja Utilizar clustering líquido para tabelas.
pipelines.reset.allowedPredefinição:
trueControla se uma atualização completa é permitida para esta tabela.
pipelines.autoOptimize.managedPredefinição:
trueHabilita ou desabilita a otimização agendada automaticamente desta tabela.
Para pipelines gerenciados por otimização preditiva, essa propriedade não é usada.
Intervalo de gatilho para pipelines
Você pode especificar um intervalo de gatilho para a pipeline inteira ou como parte de uma declaração de um conjunto de dados. Consulte Definir intervalo de ativação para pipelines contínuas.
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 ser não-Delta.
O valor é um número mais a unidade de tempo. As unidades de tempo válidas são as seguintes:
-
second,seconds -
minute,minutes -
hour,hours -
day,days
Você pode usar a unidade singular ou 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. Estes nomes não podem ser substituídos.
data_security_modeaccess_modeEstes valores são definidos automaticamente pelo sistema.
spark_versionOs clusters SDP são executados em uma versão personalizada do Databricks Runtime que é continuamente atualizada para incluir os recursos mais recentes. A versão do Spark é fornecida com a versão do Databricks Runtime e não pode ser substituída.
autotermination_minutesComo o SDP gerencia a lógica de terminação automática e reutilização do cluster, o tempo de terminação automática do cluster não pode ser alterado.
runtime_engineEmbora você possa controlar esse campo habilitando o Photon para seu pipeline, não é possível definir esse valor diretamente.
effective_spark_versionEste valor é definido automaticamente pelo sistema.
cluster_sourceEste campo é definido pelo sistema e é de leitura apenas.
docker_imageComo o SDP gerencia o ciclo de vida do cluster, não é possível usar um contêiner personalizado com clusters de pipeline.
workload_typeEsse valor é definido pelo sistema e não pode ser substituído.