Compartilhar via


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 no cluster que executará 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.

  • 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 é true

  • 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 passível de repetição durante uma atualização de pipeline, esse será o número máximo de vezes para tentar novamente executar um fluxo antes que a atualização do pipeline falhe.

    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.

    Esse parâmetro se aplica somente a pipelines em execução no modo de produção. Novas tentativas não serão feitas se o pipeline for executado no modo de desenvolvimento ou quando você executar uma atualização Validate.

    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"

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