Referência de propriedades de canalização

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

  • id

    Tipo: string

    Um identificador global 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 processos de pipeline na interface.

  • configuration

    Tipo: object

    Uma 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:value pares.

  • parameters

    Tipo: object

    Important

    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.

  • libraries

    Tipo: array of objects

    Conjunto de ficheiros 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 isto 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 em modo development ou production.

    O valor predefinido é false.

  • notifications

    Tipo: array of objects

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

  • continuous

    Tipo: boolean

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

    O valor predefinido é false.

  • catalog

    Tipo: string

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

  • schema

    Tipo: string

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

    O nome do esquema de destino onde 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. Ver LIVE schema (legacy).

  • storage (legado)

    Tipo: string

    Um 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 storage não for especificada, o sistema assumirá como padrão um 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 de Lakeflow Spark Declarative Pipelines a utilizar. Os valores suportados são:

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

  • edition

    Tipo string

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

    • CORE para executar cargas de trabalho de ingestão de streaming.
    • PRO para executar cargas de trabalho de ingestão contínua e captura de dados alterados (CDC).
    • 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 predefinido é ADVANCED.

  • photon

    Tipo: boolean

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

    Tipo: int

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

    Tipo: int

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

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

    Predefinição: true

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

  • pipelines.autoOptimize.managed

    Predefinição: true

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

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

  • data_security_mode

    access_mode

    Estes valores são definidos automaticamente pelo sistema.

  • spark_version

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

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

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

  • effective_spark_version

    Este valor é definido automaticamente pelo sistema.

  • cluster_source

    Este campo é definido pelo sistema e é de leitura apenas.

  • docker_image

    Como o SDP gerencia o ciclo de vida do cluster, não é possível usar um contêiner personalizado com clusters de pipeline.

  • workload_type

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