Referência das propriedades do pipeline

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

  • id

    Tipo: string

    Um identificador globalmente exclusivo para esse pipeline. O identificador é atribuído pelo sistema e não pode ser alterado.

  • name

    Tipo: string

    Um nome amigável para esse pipeline. O nome pode ser usado para identificar trabalhos de pipeline na interface do usuário.

  • configuration

    Tipo: object

    Uma 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.

  • parameters

    Tipo: object

    Importante

    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.

  • libraries

    Tipo: array of objects

    Um array de arquivos de código que contém o código do pipeline e os artefatos necessários.

  • clusters

    Tipo: array of objects

    Uma 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.

  • development

    Tipo: boolean

    Um sinalizador que indica se o pipeline deve ser executado no modo development ou no modo production.

    O valor padrão é false.

  • notifications

    Tipo: array of objects

    Uma 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.

  • continuous

    Tipo: boolean

    Um sinalizador que indica se o pipeline deve ser executado continuamente.

    O valor padrão é false.

  • catalog

    Tipo: string

    O 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).

  • schema

    Tipo: string

    O 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: string

    O nome do esquema de destino em que todos os conjuntos de dados definidos no pipeline atual são publicados.

    Definir target em vez de schema configura o pipeline para usar o modo de publicação herdado. Confira Esquema LIVE (herdado).

  • storage (herdado)

    Tipo: string

    Um 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 storage não for especificada, o sistema usará como padrão local em dbfs:/pipelines/.

    A configuração storage não pode ser alterada depois que um pipeline é criado.

  • channel

    Tipo: string

    A versão do runtime do Lakeflow Spark Declarative Pipelines a ser usada. Os valores com suporte são:

    • preview para testar seu pipeline com as próximas alterações na versão de runtime.
    • current para 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.

  • edition

    Digite string

    A 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:

    • CORE para executar workloads de ingestão de streaming.
    • PRO para executar cargas de trabalho de ingestão de streaming e de captura de dados de alterações (CDA).
    • ADVANCED para 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.

  • photon

    Tipo: boolean

    Um 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.maxFlowRetryAttempts

    Tipo: int

    Se 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.numUpdateRetryAttempts

    Tipo: int

    Se 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 Validate atualizaçã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.zOrderCols

    Padrã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.allowed

    Padrão: true

    Controla se uma atualização completa é permitida nessa tabela.

  • pipelines.autoOptimize.managed

    Padrão: true

    Habilita 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.interval

    O 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_name

    O SDP define os nomes dos clusters usados para executar atualizações de pipeline. Esses nomes não podem ser substituídos.

  • data_security_mode

    access_mode

    Esses valores são definidos automaticamente pelo sistema.

  • spark_version

    Os 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_minutes

    Como 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_engine

    Embora você possa controlar esse campo habilitando o Photon para seu pipeline, não é possível definir esse valor diretamente.

  • effective_spark_version

    Esse valor é definido automaticamente pelo sistema.

  • cluster_source

    Esse campo é definido pelo sistema e é somente leitura.

  • docker_image

    Como o SDP gerencia o ciclo de vida do cluster, você não pode usar um contêiner personalizado com clusters de pipeline.

  • workload_type

    Esse valor é definido pelo sistema e não pode ser substituído.