Guia da API Delta Live Tables

Importante

O conteúdo deste artigo foi retirado e pode não ser atualizado. Consulte Delta Live Tables na Referência da API REST do Databricks.

A API Delta Live Tables permite que você crie, edite, exclua, comece e view detalhes sobre pipelines.

Importante

Para acessar APIs REST do Databricks, você deve autenticar o.

Criar um pipeline

endpoint

Método HTTP

2.0/pipelines

POST

Cria um novo pipeline Delta Live Tables.

Exemplo

Este exemplo cria um novo pipeline acionado.

Solicitar

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines \
--data @pipeline-settings.json

pipeline-settings.json:

{
  "name": "Wikipedia pipeline (SQL)",
  "storage": "/Users/username/data",
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    }
  ],
  "libraries": [
    {
      "notebook": {
        "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
      }
    }
  ],
  "continuous": false
}

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta

{
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5"
}

Estrutura do pedido

Consulte Configurações de pipeline.

Estrutura de resposta

Nome do campo

Tipo

Descrição

pipeline_id

STRING

O identificador exclusivo do pipeline recém-criado.

Editar um pipeline

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}

PUT

Atualiza as configurações de um pipeline existente.

Exemplo

Este exemplo adiciona um parâmetro target ao pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar

curl --netrc -X PUT \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 \
--data @pipeline-settings.json

pipeline-settings.json

{
  "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "name": "Wikipedia pipeline (SQL)",
  "storage": "/Users/username/data",
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    }
  ],
  "libraries": [
    {
      "notebook": {
        "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
      }
    }
  ],
  "target": "wikipedia_quickstart_data",
  "continuous": false
}

Substituir:

Este exemplo usa um .netrc arquivo.

Estrutura do pedido

Consulte Configurações de pipeline.

Excluir um pipeline

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}

DELETE

Exclui um pipeline do sistema Delta Live Tables.

Exemplo

Este exemplo exclui o pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar

curl --netrc -X DELETE \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5

Substituir:

Este exemplo usa um .netrc arquivo.

começar uma atualização de pipeline

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}/updates

POST

começar uma atualização para um pipeline. Você pode começar uma atualização para todo o grafo do pipeline, ou uma atualização seletiva de tabelas específicas.

Exemplos

começar uma atualização completa

Este exemplo começa uma atualização com refresh completa para o pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "full_refresh": "true" }'

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

começar uma atualização das mesas selecionadas

Este exemplo começa uma atualização que refresh as tabelas sales_orders_cleaned e sales_order_in_chicago no pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"] }'

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

começar uma atualização completa das mesas selecionadas

Este exemplo começa uma atualização das tabelas sales_orders_cleaned e sales_order_in_chicago e uma atualização com refresh completa das tabelas customers e sales_orders_raw no pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Solicitar
curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates \
--data '{ "refresh_selection": ["sales_orders_cleaned", "sales_order_in_chicago"], "full_refresh_selection": ["customers", "sales_orders_raw"] }'

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta
{
  "update_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8",
  "request_id": "a1b23c4d-5e6f-78gh-91i2-3j4k5lm67no8"
}

Estrutura do pedido

Nome do campo

Tipo

Descrição

full_refresh

BOOLEAN

Se todos os dados devem ser reprocessados. Se true, o sistema Delta Live Tables Reset todas as tabelas que podem ser reconfiguradas antes de executar o pipeline.

Este campo é opcional.

O valor default é false.

Um erro será retornado se full_refesh for verdadeiro e refresh_selection ou full_refresh_selection for definido.

refresh_selection

Uma matriz de STRING

Uma lista de tabelas a serem atualizadas. Use refresh_selection para iniciar uma refresh de um conjunto selecionado de tabelas no gráfico de pipeline.

Este campo é opcional. Se refresh_selection e full_refresh_selection estiverem vazios, todo o gráfico do pipeline será atualizado.

Um erro é retornado se:

  • full_refesh é verdadeiro e refresh_selection está definido.

  • Uma ou mais das tabelas especificadas não existem no gráfico do pipeline.

full_refresh_selection

Uma matriz de STRING

Uma lista de tabelas a serem atualizadas com refresh completa. Use full_refresh_selection para iniciar uma atualização de um conjunto de tabelas selecionado. Os estados das tabelas especificadas são Reset antes que o sistema Delta Live Tables comece a atualização.

Este campo é opcional. Se refresh_selection e full_refresh_selection estiverem vazios, todo o gráfico do pipeline será atualizado.

Um erro é retornado se:

  • full_refesh é verdadeiro e refresh_selection está definido.

  • Uma ou mais das tabelas especificadas não existem no gráfico do pipeline.

  • Uma ou mais das tabelas especificadas não podem ser reconfiguradas.

Estrutura de resposta

Nome do campo

Tipo

Descrição

update_id

STRING

O identificador exclusivo da atualização recém-criada.

request_id

STRING

O identificador único da solicitação que inicia a atualização.

Obtenha o status de uma solicitação de atualização de pipeline

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}/requests/{request_id}

GET

Obtém o status e as informações para a atualização do pipeline associada a request_id, em que request_id é um identificador exclusivo para a solicitação que inicia a atualização do pipeline. Se a atualização for repetida ou reiniciada, a nova atualização herdará o request_id.

Exemplo

Para o pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5, este exemplo retorna status e informações para a atualização associada ao ID de solicitação a83d9f7c-d798-4fd5-aa39-301b6e6f4429:

Solicitar

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/requests/a83d9f7c-d798-4fd5-aa39-301b6e6f4429

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta

{
   "status": "TERMINATED",
   "latest_update":{
     "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
     "update_id": "90da8183-89de-4715-b5a9-c243e67f0093",
     "config":{
       "id": "aae89b88-e97e-40c4-8e1a-1b7ac76657e8",
       "name": "Retail sales (SQL)",
       "storage": "/Users/username/data",
       "configuration":{
         "pipelines.numStreamRetryAttempts": "5"
       },
       "clusters":[
         {
           "label": "default",
           "autoscale":{
             "min_workers": 1,
             "max_workers": 5,
             "mode": "ENHANCED"
           }
         }
       ],
       "libraries":[
         {
           "notebook":{
             "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
           }
         }
       ],
       "continuous": false,
       "development": true,
       "photon": true,
       "edition": "advanced",
       "channel": "CURRENT"
     },
     "cause": "API_CALL",
     "state": "COMPLETED",
     "cluster_id": "1234-567891-abcde123",
     "creation_time": 1664304117145,
     "full_refresh": false,
     "request_id": "a83d9f7c-d798-4fd5-aa39-301b6e6f4429"
   }
}

Estrutura de resposta

Nome do campo

Tipo

Descrição

status

STRING

O status da solicitação de atualização do pipeline. Um de

  • ACTIVE: uma atualização para esta solicitação está sendo executada ativamente ou pode ser repetida em uma nova atualização.

  • TERMINATED: A solicitação foi encerrada e não será repetida ou reiniciada.

pipeline_id

STRING

O identificador exclusivo do pipeline.

update_id

STRING

O identificador exclusivo da atualização.

config

Configurações de Pipeline

As configurações do pipeline.

cause

STRING

O gatilho para a atualização. Um de API_CALL, RETRY_ON_FAILURE, SERVICE_UPGRADE, SCHEMA_CHANGE, JOB_TASK ou USER_ACTION.

state

STRING

O estado da atualização. Um de QUEUED, CREATED WAITING_FOR_RESOURCES, INITIALIZING, RESETTING, SETTING_UP_TABLES, RUNNING, STOPPING, COMPLETED, FAILED ou CANCELED.

cluster_id

STRING

O identificador dos clusters que executam a atualização.

creation_time

INT64

O timestamp quando a atualização foi criada.

full_refresh

BOOLEAN

Se esta atualização Reset todas as tabelas antes de executar

refresh_selection

Uma matriz de STRING

Uma lista de tabelas a serem atualizadas sem refresh completa.

full_refresh_selection

Uma matriz de STRING

Uma lista de tabelas a serem atualizadas com refresh completa.

request_id

STRING

O identificador único da solicitação que inicia a atualização. Este é o valor retornado pela solicitação de atualização . Se a atualização for repetida ou reiniciada, a nova atualização herdará o request_id. No entanto, o update_id será diferente.

Interrompa qualquer atualização de pipeline ativa

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}/stop

POST

Interrompe qualquer atualização de pipeline ativa. Se nenhuma atualização estiver em execução, essa solicitação será no-op.

Para um pipeline contínuo, a execução do pipeline é pausada. As tabelas atualmente em processamento concluem a atualização, mas as tabelas downstream não são atualizadas. Na próxima atualização do pipeline, o Delta Live Tables executa uma refresh selecionada das tabelas que não concluíram o processamento e retoma o processamento do DAG do pipeline restante.

Para um pipeline acionado, a execução do pipeline é interrompida. As tabelas atualmente em processamento concluem a atualização, mas as tabelas downstream não são atualizadas. Na próxima atualização do pipeline, Delta Live Tables refresh todas as tabelas.

Exemplo

Este exemplo interrompe uma atualização para o pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar

curl --netrc -X POST \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/stop

Substituir:

Este exemplo usa um .netrc arquivo.

Listar eventos de pipeline

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}/events

GET

Recupera eventos para um pipeline.

Exemplo

Este exemplo recupera no máximo 5 eventos para o pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5.

Solicitar

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/events?max_results=5

Substituir:

Este exemplo usa um .netrc arquivo.

Estrutura do pedido

Nome do campo

Tipo

Descrição

page_token

STRING

tokens de página retornados pela chamada anterior. Este campo é mutuamente exclusivo com todos os campos desta solicitação, exceto max_results. Um erro será retornado se quaisquer campos diferentes de max_results forem configurados quando este campo for configurado.

Este campo é opcional.

max_results

INT32

O número máximo de entradas a serem retornadas em uma única página. O sistema pode retornar menos de max_results eventos em uma resposta, mesmo se houver mais eventos disponíveis.

Este campo é opcional.

O valor default é 25.

O valor máximo é 100. Um erro será retornado se o valor de max_results for maior que 100.

order_by

STRING

Uma strings indicando uma ordem de classificação por carimbo de data/hora para os resultados, por exemplo, ["timestamp asc"].

A ordem de classificação pode ser crescente ou decrescente. Por default, os eventos são retornados em ordem decrescente por timestamp.

Este campo é opcional.

filter

STRING

Critérios para selecionar um subconjunto de resultados, expressos usando uma sintaxe semelhante a SQL. Os filtros suportados são:

  • level='INFO' (ou WARN ou ERROR)

  • level in ('INFO', 'WARN')

  • id='[event-id]'

  • timestamp > 'TIMESTAMP' (ou >=,<,<=,=)

Expressões compostas são suportadas, por exemplo: level in ('ERROR', 'WARN') AND timestamp> '2021-07-22T06:37:33.083Z'

Este campo é opcional.

Estrutura de resposta

Nome do campo

Tipo

Descrição

events

Uma matriz de eventos de pipeline.

A lista de eventos que correspondem aos critérios de solicitação.

next_page_token

STRING

Se presente, um tokens para buscar a próxima página de eventos.

prev_page_token

STRING

Se presente, um tokens para buscar a página anterior de eventos.

Obter detalhes do pipeline

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}

GET

Obtém detalhes sobre um pipeline, incluindo as configurações do pipeline e atualizações recentes.

Exemplo

Este exemplo obtém detalhes do pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta

{
  "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
  "spec": {
    "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "name": "Wikipedia pipeline (SQL)",
    "storage": "/Users/username/data",
    "clusters": [
      {
        "label": "default",
        "autoscale": {
          "min_workers": 1,
          "max_workers": 5,
          "mode": "ENHANCED"
        }
      }
    ],
    "libraries": [
      {
        "notebook": {
          "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
        }
      }
    ],
    "target": "wikipedia_quickstart_data",
    "continuous": false
  },
  "state": "IDLE",
  "cluster_id": "1234-567891-abcde123",
  "name": "Wikipedia pipeline (SQL)",
  "creator_user_name": "username",
  "latest_updates": [
    {
      "update_id": "8a0b6d02-fbd0-11eb-9a03-0242ac130003",
      "state": "COMPLETED",
      "creation_time": "2021-08-13T00:37:30.279Z"
    },
    {
      "update_id": "a72c08ba-fbd0-11eb-9a03-0242ac130003",
      "state": "CANCELED",
      "creation_time": "2021-08-13T00:35:51.902Z"
    },
    {
      "update_id": "ac37d924-fbd0-11eb-9a03-0242ac130003",
      "state": "FAILED",
      "creation_time": "2021-08-13T00:33:38.565Z"
    }
  ],
  "run_as_user_name": "username"
}

Estrutura de resposta

Nome do campo

Tipo

Descrição

pipeline_id

STRING

O identificador exclusivo do pipeline.

spec

Configurações de Pipeline

As configurações do pipeline.

state

STRING

O estado do pipeline. Um de IDLE ou RUNNING.

Se estado = RUNNING, então há pelo menos uma atualização ativa.

cluster_id

STRING

O identificador dos clusters que executam o pipeline.

name

STRING

O nome amigável para este pipeline.

creator_user_name

STRING

O nome de usuário do criador do pipeline.

latest_updates

Uma matriz de UpdateStateInfo

Status das atualizações mais recentes para o pipeline, ordenadas com a atualização mais recente primeiro.

run_as_user_name

STRING

O nome de usuário que o pipeline executa.

Obter detalhes da atualização

endpoint

Método HTTP

2.0/pipelines/{pipeline_id}/updates/{update_id}

GET

Obtém detalhes para uma atualização de pipeline.

Exemplo

Este exemplo obtém detalhes para atualizar 9a84f906-fc51-11eb-9a03-0242ac130003 para o pipeline com ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5:

Solicitar

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines/a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5/updates/9a84f906-fc51-11eb-9a03-0242ac130003

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta

{
  "update": {
    "pipeline_id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
    "update_id": "9a84f906-fc51-11eb-9a03-0242ac130003",
    "config": {
      "id": "a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5",
      "name": "Wikipedia pipeline (SQL)",
      "storage": "/Users/username/data",
      "configuration": {
        "pipelines.numStreamRetryAttempts": "5"
      },
      "clusters": [
        {
          "label": "default",
          "autoscale": {
            "min_workers": 1,
            "max_workers": 5,
            "mode": "ENHANCED"
          }
        }
      ],
      "libraries": [
        {
          "notebook": {
            "path": "/Users/username/DLT Notebooks/Delta Live Tables quickstart (SQL)"
          }
        }
      ],
      "target": "wikipedia_quickstart_data",
      "continuous": false,
      "development": false
    },
    "cause": "API_CALL",
    "state": "COMPLETED",
    "creation_time": 1628815050279,
    "full_refresh": true,
    "request_id": "a83d9f7c-d798-4fd5-aa39-301b6e6f4429"
  }
}

Estrutura de resposta

Nome do campo

Tipo

Descrição

pipeline_id

STRING

O identificador exclusivo do pipeline.

update_id

STRING

O identificador exclusivo desta atualização.

config

Configurações de Pipeline

As configurações do pipeline.

cause

STRING

O gatilho para a atualização. Um de API_CALL, RETRY_ON_FAILURE, SERVICE_UPGRADE.

state

STRING

O estado da atualização. Um de QUEUED, CREATED WAITING_FOR_RESOURCES, INITIALIZING, RESETTING, SETTING_UP_TABLES, RUNNING, STOPPING, COMPLETED, FAILED ou CANCELED.

cluster_id

STRING

O identificador dos clusters que executam o pipeline.

creation_time

INT64

O timestamp quando a atualização foi criada.

full_refresh

BOOLEAN

Se esta foi uma refresh completa. Se verdadeiro, todas as tabelas de pipeline foram Reset antes de executar a atualização.

Listar pipelines

endpoint

Método HTTP

2.0/pipelines/

GET

Lista os pipelines definidos no sistema Delta Live Tables.

Exemplo

Este exemplo recupera detalhes de pipelines em que o nome contém quickstart:

Solicitar

curl --netrc -X GET \
https://<databricks-instance>/api/2.0/pipelines?filter=name%20LIKE%20%27%25quickstart%25%27

Substituir:

Este exemplo usa um .netrc arquivo.

Resposta

{
  "statuses": [
    {
      "pipeline_id": "e0f01758-fc61-11eb-9a03-0242ac130003",
      "state": "IDLE",
      "name": "DLT quickstart (Python)",
      "latest_updates": [
        {
          "update_id": "ee9ae73e-fc61-11eb-9a03-0242ac130003",
          "state": "COMPLETED",
          "creation_time": "2021-08-13T00:34:21.871Z"
        }
      ],
      "creator_user_name": "username"
    },
    {
      "pipeline_id": "f4c82f5e-fc61-11eb-9a03-0242ac130003",
      "state": "IDLE",
      "name": "My DLT quickstart example",
      "creator_user_name": "username"
    }
  ],
  "next_page_token": "eyJ...==",
  "prev_page_token": "eyJ..x9"
}

Estrutura do pedido

Nome do campo

Tipo

Descrição

page_token

STRING

tokens de página retornados pela chamada anterior.

Este campo é opcional.

max_results

INT32

O número máximo de entradas a serem retornadas em uma única página. O sistema pode retornar menos de max_results eventos em uma resposta, mesmo se houver mais eventos disponíveis.

Este campo é opcional.

O valor default é 25.

O valor máximo é 100. Um erro será retornado se o valor de max_results for maior que 100.

order_by

Uma matriz de STRING

Uma lista de strings especificando a ordem dos resultados, por exemplo, ["name asc"]. Os campos order_by suportados são id e name. O default é id asc.

Este campo é opcional.

filter

STRING

Selecione um subconjunto de resultados com base nos critérios especificados.

Os filtros suportados são:

"notebook='<path>'" para selecionar pipelines que fazem referência ao caminho Notebook fornecido.

name LIKE '[pattern]' para selecionar pipelines com um nome que corresponda a pattern. Curingas são suportados, por exemplo: name LIKE '%shopping%'

Filtros compostos não são suportados.

Este campo é opcional.

Estrutura de resposta

Nome do campo

Tipo

Descrição

statuses

Uma matriz de PipelineStateInfo

A lista de eventos que correspondem aos critérios de solicitação.

next_page_token

STRING

Se presente, um tokens para buscar a próxima página de eventos.

prev_page_token

STRING

Se presente, um tokens para buscar a página anterior de eventos.

Estruturas de dados

AwsAttributes

Atributos definidos durante a criação clusters relacionados ao Amazon Web serviço.

Nome do campo

Tipo

Descrição

first_on_demand

INT32

Os primeiros nós first_on_demand dos clusters serão colocados em instâncias sob demanda. Se esse valor for maior que 0, o nó do driver clusters será colocado em uma instância sob demanda. Se esse valor for maior ou igual ao tamanho atual clusters , todos os nós serão colocados em instâncias sob demanda. Se esse valor for menor que o tamanho atual clusters , os nós first_on_demand serão colocados em instâncias sob demanda e os restantes serão colocados em availability instâncias. Esse valor não afeta o tamanho clusters e não pode sofrer mutação durante o tempo de vida de um clusters.

availability

AwsAvailability

Tipo de disponibilidade usado para todos os nós subsequentes após os first_on_demand. Observação: se first_on_demand for zero, esse tipo de disponibilidade será usado para todos os clusters.

zone_id

STRING

Identificador para a zona de disponibilidade (AZ) na qual os clusters residem. Por default, a configuração tem um valor de auto, também conhecido como Auto-AZ. Com o Auto-AZ, o Databricks seleciona o AZ com base nos IPs disponíveis nas sub-redes workspace e tenta novamente em outras zonas de disponibilidade se a AWS retornar erros de capacidade insuficiente.

Se desejar, você também pode especificar uma zona de disponibilidade para usar. Isso beneficia account que possuem instâncias reservadas em uma AZ específica. Especifique o AZ como strings (por exemplo, "us-west-2a"). A zona de disponibilidade fornecida deve estar na mesma região que a implantação do Databricks. Por exemplo, “us-west-2a” não é uma ID de zona válida se a implantação do Databricks residir na região “us-east-1”.

A lista de zonas disponíveis, bem como o valor default , podem ser encontrados usando o comando GET /api/2.0/clusters/list-zones chamar.

instance_profile_arn

STRING

Os nós para esses clusters serão colocados apenas em instâncias da AWS com esse instance profile. Se omitido, os nós serão colocados em instâncias sem um instance profile. O instance profile deve ter sido adicionado anteriormente ao ambiente Databricks por um administrador account .

Esse recurso pode estar disponível apenas para determinados planos de clientes.

spot_bid_price_percent

INT32

O preço máximo para instâncias spot da AWS, como uma porcentagem do preço sob demanda do tipo de instância correspondente. Por exemplo, se este campo for definido como 50 e os clusters precisarem de uma nova instância spot i3.xlarge, o preço máximo será metade do preço das instâncias i3.xlarge sob demanda. Da mesma forma, se esse campo for definido como 200, o preço máximo será o dobro do preço das instâncias i3.xlarge sob demanda. Se não especificado, o valor default é 100. Quando instâncias spot forem solicitadas para esses clusters, apenas as instâncias spot cuja porcentagem de preço máximo corresponda a esse campo serão consideradas. Por segurança, impomos que esse campo tenha mais de 10.000.

ebs_volume_type

EbsVolumeType

O tipo de volumes EBS que serão iniciados com esses clusters.

ebs_volume_count

INT32

O número de volumes lançados para cada instância. Você pode escolher até 10 volumes. Esse recurso é ativado apenas para tipos de nó com suporte. Os tipos de nós legados não podem especificar volumes personalizados do EBS. Para tipos de nó sem armazenamento de instância, pelo menos um volume EBS precisa ser especificado; caso contrário, a criação clusters falhará.

Esses volumes EBS serão montados em /ebs0, /ebs1, etc. Os volumes de armazenamento de instâncias serão montados em /local_disk0, /local_disk1, etc.

Se os volumes EBS estiverem anexados, o Databricks configurará o Spark para usar apenas os volumes EBS para armazenamento temporário porque dispositivos temporários de tamanho heterogêneo podem levar à utilização ineficiente do disco. Se nenhum volume EBS estiver anexado, o Databricks configurará o Spark para usar volumes de armazenamento de instâncias.

Se os volumes EBS forem especificados, a configuração do Spark spark.local.dir será substituída.

ebs_volume_size

INT32

O tamanho de cada volume do EBS (em GiB) iniciado para cada instância. Para SSD de propósito geral, este valor deve estar dentro do intervalo 100 - 4096. Para HDD otimizado para taxa de transferência, esse valor deve estar entre 500 e 4096. Os volumes personalizados do EBS não podem ser especificados para os tipos de nós legados (com otimização de memória e otimizaçãocompute).

ebs_volume_iops

INT32

O número de IOPS por volume EBS gp3.

Este valor deve estar entre 3000 e 16000.

O valor de IOPS e Taxa de transferência é calculado com base na documentação da AWS para corresponder ao desempenho máximo de um volume gp2 com o mesmo tamanho de volume.

Para obter mais informações, consulte a calculadora de limite de volume do EBS.

ebs_volume_throughput

INT32

A Taxa de transferência por EBS gp3 volume, em MiB por segundo.

Este valor deve estar entre 125 e 1000.

Se nem ebs_volume_iops nem ebs_volume_throughput forem especificados, os valores serão inferidos a partir do tamanho do disco:

tamanho do disco

IOPS

Taxa de transferência

Maior que 1000

3 vezes o tamanho do disco, até 16000

250

Entre 170 e 1000

3000

250

abaixo de 170

3000

125

AwsAvailability

O conjunto de tipos de disponibilidade da AWS com suporte ao configurar nós para clusters.

Tipo

Descrição

SPOT

Use instâncias pontuais.

ON_DEMAND

Use instâncias sob demanda.

SPOT_WITH_FALLBACK

De preferência, use instâncias spot, mas volte para instâncias sob demanda se as instâncias spot não puderem ser adquiridas (por exemplo, se os preços spot da AWS forem muito altos).

ClusterLogConf

Caminho para logs clusters.

Nome do campo

Tipo

Descrição

dbfs OU s3

DbfsStorageInfo

S3StorageInfo

Localização DBFS de logs clusters. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

Localização S3 de logs clusters. destination e region ou warehouse devem ser fornecidos. Por exemplo, { "s3": { "destination" : "s3://cluster_log_bucket/prefix", "region" : "us-west-2" } }

DbfsStorageInfo

Informações de armazenamento DBFS.

Nome do campo

Tipo

Descrição

destination

STRING

Destino DBFS. Exemplo: dbfs:/my/path

EbsVolumeType

O Databricks oferece suporte aos tipos de volume EBS gp2 e gp3. Siga as instruções em gerenciar SSD storage para selecionar gp2 ou gp3 para seu workspace.

Tipo

Descrição

GENERAL_PURPOSE_SSD

provisionamento de armazenamento extra usando volumes AWS EBS.

THROUGHPUT_OPTIMIZED_HDD

provisionamento de armazenamento extra usando volumes AWS st1.

FileStorageInfo

Informação de armazenamento de arquivo.

Observação

Este tipo de localização só está disponível para clusters configurados usando Databricks Container Services.

Nome do campo

Tipo

Descrição

destination

STRING

Destino do arquivo. Exemplo: file:/my/file.sh

InitScriptInfo

Caminho para um init script.

Para obter instruções sobre como usar init script com o Databricks Container Services, consulte Usar um init script.

Observação

O tipo de armazenamento de arquivos (nome do campo: file) só está disponível para clusters configurados usando Databricks Container Services. Consulte FileStorageInfo.

Nome do campo

Tipo

Descrição

workspace OU dbfs (obsoleto)

OU S3

WorkspaceStorageInfo

DbfsStorageInfo (obsoleto)

S3StorageInfo

localização da workspace do init script. O destino deve ser fornecido. Por exemplo, { "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Descontinuado) Localização DBFS do init script. O destino deve ser fornecido. Por exemplo, { "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Localização S3 do init script. O destino e a região ou armazém devem ser fornecidos. Por exemplo, { "s3": { "destination" : "s3://init_script_bucket/prefix", "region" : "us-west-2" } }

Valor chave

Um valor- keypar que especifica os parâmetros de configuração.

Nome do campo

Tipo

Descrição

key

STRING

O nome da propriedade de configuração.

value

STRING

O valor da propriedade de configuração.

NotebookBiblioteca

Uma especificação para um Notebook contendo código de pipeline.

Nome do campo

Tipo

Descrição

path

STRING

O caminho absoluto para o Notebook.

Este campo é obrigatório.

PipelinesAutoScale

Atributos que definem clusters autoscale.

Nome do campo

Tipo

Descrição

min_workers

INT32

O número mínimo de worker para os quais os clusters podem ser reduzidos quando subutilizados. É também o número inicial de worker que os clusters terão após a criação.

max_workers

INT32

O número máximo de worker para os quais os clusters podem ser dimensionados quando sobrecarregados. max_workers deve ser estritamente maior que min_workers.

mode

STRING

O modo autoscale para os clusters:

PipelineLibrary

Uma especificação para dependências de pipeline.

Nome do campo

Tipo

Descrição

notebook

NotebookBiblioteca

O caminho para um dataset Delta Live Tables que define o Notebook. O caminho deve estar no workspace Databricks, por exemplo: { "notebook" : { "path" : "/my-pipeline-notebook-path" } }.

PipelinesNovoCluster

Uma especificação clusters de pipeline.

O sistema Delta Live Tables define os seguintes atributos. Esses atributos não podem ser configurados pelos usuários:

  • spark_version

Nome do campo

Tipo

Descrição

label

STRING

Um rótulo para a especificação clusters , seja default para configurar os clusters default ou maintenance para configurar os clusters de manutenção.

Este campo é opcional. O valor default é default.

spark_conf

Valor chave

Um objeto que contém um conjunto de valor- keypar de configuração opcional do Spark especificado pelo usuário. Você também pode passar strings de opções JVM extras para o driver e os executores por meio de spark.driver.extraJavaOptions e spark.executor.extraJavaOptions, respectivamente.

Exemplo de confs do Spark: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} ou {"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}

aws_attributes

AwsAttributes

Atributos relacionados a clusters em execução no Amazon Web serviço. Se não for especificado na criação clusters , um conjunto de valores default será usado.

node_type_id

STRING

Este campo codifica, através de um único valor, o recurso disponível para cada um dos nós Spark neste clusters. Por exemplo, os nós do Spark podem ser provisionados e otimizados para cargas de trabalho com uso intensivo de memória ou compute . Uma lista de tipos de nós disponíveis pode ser recuperada usando a chamada GET 2.0/clusters/list-node-types .

driver_node_type_id

STRING

O tipo de nó do driver Spark. Este campo é opcional; se não for definido, o tipo de nó do driver será definido com o mesmo valor de node_type_id definido acima.

ssh_public_keys

Uma matriz de STRING

Conteúdo key pública SSH que será adicionado a cada nó do Spark nesses clusters. A key privada correspondente pode ser usada para efetuar login com o nome de usuário ubuntu na porta 2200. Até 10 key podem ser especificadas.

custom_tags

Valor chave

Um objeto contendo um conjunto de tags para recursos clusters . Databricks marca todos os recursos clusters com essas marcas, além de default_tags.

Nota:

  • tags não são suportadas em tipos de nós legados, como otimizados para computee otimizados para memória

  • Databricks permite no máximo 45 tags personalizadas.

cluster_log_conf

ClusterLogConf

A configuração para entregar logs do Spark para um destino de armazenamento de longo prazo. Apenas um destino pode ser especificado para um clusters. Se esta configuração for fornecida, os logs serão entregues ao destino a cada 5 mins. O destino dos logs do driver é <destination>/<cluster-ID>/driver, enquanto o destino dos logs do executor é <destination>/<cluster-ID>/executor.

spark_env_vars

Valor chave

Um objeto que contém um conjunto opcional de variável de ambiente por key-valor especificado pelo usuário. o valor-chave par do formulário (X,Y) é exportado como está (ou seja, export X='Y') ao iniciar o driver e worker.

Para especificar um conjunto adicional de SPARK_DAEMON_JAVA_OPTS, Databricks recomenda anexá-los a $SPARK_DAEMON_JAVA_OPTS conforme mostrado no exemplo a seguir. Isso garante que todas as variáveis ambientais gerenciadas default do Databricks também sejam incluídas.

Exemplo Spark variável de ambiente: {"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} ou {"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}

init_scripts

Uma matriz de InitScriptInfo

A configuração para armazenar init script. Qualquer número de destinos pode ser especificado. Os scripts são executados sequencialmente na ordem fornecida. Se cluster_log_conf for especificado, os logs init script serão enviados para <destination>/<cluster-ID>/init_scripts.

instance_pool_id

STRING

O ID opcional do pool de instâncias ao qual os clusters pertencem. Consulte pool referência de configuração.

driver_instance_pool_id

STRING

O ID opcional do pool de instâncias a ser usado para o nó do driver. Você também deve especificar instance_pool_id. Consulte API pool de instâncias.

policy_id

STRING

Um ID de políticaclusters .

num_workers OR autoscale

INT32 OU InitScriptInfo

Se num_workers, número de nós do trabalhador que esses clusters devem ter. Um clusters tem um driver Spark e executores num_workers para um total de num_workers + 1 nós Spark.

Ao ler as propriedades de um clusters, esse campo reflete o número desejado de worker em vez do número real de worker. Por exemplo, se um clusters for redimensionado de 5 para 10 worker, este campo é atualizado para refletir o tamanho alvo de 10 worker, enquanto o worker listado nos executores aumenta gradativamente de 5 para 10 conforme os novos nós são provisionados.

Se autoescala, os parâmetros necessários para escalar automaticamente os clusters para cima e para baixo com base na carga.

Este campo é opcional.

apply_policy_default_values

BOOLEAN

Se devem ser usados default valores de política para clusters atributos ausentes.

Configurações de Pipeline

As configurações para uma implantação de pipeline.

Nome do campo

Tipo

Descrição

id

STRING

O identificador exclusivo para este pipeline.

O identificador é criado pelo sistema Delta Live Tables e não deve ser fornecido ao criar um pipeline.

name

STRING

Um nome amigável para este pipeline.

Este campo é opcional.

Por default, o nome do pipeline deve ser exclusivo. Para usar um nome duplicado, defina allow_duplicate_names como true na configuração do pipeline.

storage

STRING

Um caminho para um diretório DBFS para armazenar pontos de verificação e tabelas criadas pelo pipeline.

Este campo é opcional.

O sistema usa um local default se este campo estiver vazio.

configuration

um mapa de STRING:STRING

Uma lista de valor- keypar para adicionar à configuração do Spark dos clusters que executarão o pipeline.

Este campo é opcional.

Os elementos devem ser formatados como valor- keypar.

clusters

Uma matriz de PipelinesNewCluster

Uma matriz de especificações para os clusters para execução do pipeline.

Este campo é opcional.

Se isso não for especificado, o sistema selecionará uma configuração clusters default para o pipeline.

libraries

Uma matriz de PipelineLibrary

O Notebook contendo o código do pipeline e quaisquer dependências necessárias para a execução do pipeline.

target

STRING

Um nome de banco de dados para dados de saída de pipeline persistentes.

Para obter mais informações, consulte Publicar dados de Delta Live Tables para Hive metastore.

continuous

BOOLEAN

Se este é um pipeline contínuo.

Este campo é opcional.

O valor default é false.

development

BOOLEAN

Se deve executar o pipeline no modo de desenvolvimento.

Este campo é opcional.

O valor default é false.

photon

BOOLEAN

Se a aceleração Photon está habilitada para este pipeline.

Este campo é opcional.

O valor default é false.

channel

STRING

O canal de lançamento Delta Live Tables especificando a versão Runtime a ser usada para este pipeline. Os valores suportados são:

  • preview para testar o pipeline com as próximas alterações no Delta Live Tables Runtime.

  • current para usar a versão atual do Delta Live Tables Runtime .

Este campo é opcional.

O valor default é current.

edition

STRING

A edição do produto Delta Live Tables para executar o pipeline:

  • CORE suporta cargas de trabalho de ingestão de transmissão.

  • PRO também suporta cargas de trabalho de ingestão de transmissão e adiciona suporte para processamento de captura de dados de alterações (CDC) (CDC).

  • ADVANCED oferece suporte a todos os recursos da edição PRO e adiciona suporte para cargas de trabalho que exigem expectativas de Delta Live Tables para impor restrições de qualidade de dados.

Este campo é opcional.

O valor default é advanced.

PipelineStateInfo

O estado de um pipeline, o status das atualizações mais recentes e informações sobre os recursos associados.

Nome do campo

Tipo

Descrição

state

STRING

O estado do pipeline. Um de IDLE ou RUNNING.

pipeline_id

STRING

O identificador exclusivo do pipeline.

cluster_id

STRING

O identificador exclusivo dos clusters que executam o pipeline.

name

STRING

O nome amigável do pipeline.

latest_updates

Uma matriz de UpdateStateInfo

Status das atualizações mais recentes para o pipeline, ordenadas com a atualização mais recente primeiro.

creator_user_name

STRING

O nome de usuário do criador do pipeline.

run_as_user_name

STRING

O nome de usuário com o qual o pipeline é executado. Este é um valor somente leitura derivado do proprietário do pipeline.

S3StorageInfo

Informações de armazenamento S3.

Nome do campo

Tipo

Descrição

destination

STRING

destino S3. Por exemplo: s3://my-bucket/some-prefix Você deve configurar os clusters com um instance profile e o instance profile deve ter acesso de gravação ao destino. Você não pode usar key AWS.

region

STRING

região S3. Por exemplo: us-west-2. A região ou armazém deve ser definido. Se ambos estiverem definidos, o armazém é usado.

warehouse

STRING

Armazém S3. Por exemplo: https://s3-us-west-2.amazonaws.com. A região ou armazém deve ser definido. Se ambos estiverem definidos, o armazém é usado.

enable_encryption

BOOL

(Opcional) Ative a criptografia do lado do servidor, false por default.

encryption_type

STRING

(Opcional) O tipo de criptografia, pode ser sse-s3 ou sse-kms. Ele é usado apenas quando a criptografia está ativada e o tipo default é sse-s3.

kms_key

STRING

(Opcional) key KMS usada se a criptografia estiver ativada e o tipo de criptografia estiver definido como sse-kms.

canned_acl

STRING

(Opcional) Defina a lista de controle de acesso enlatada. Por exemplo: bucket-owner-full-control. Se canned_acl for definido, o instance profile clusters deverá ter permissão s3:PutObjectAcl no bucket de destino e prefixo. A lista completa de possíveis ACLs pré-configuradas pode ser encontrada em https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl. Por default apenas o proprietário do objeto obtém controle total. Se você estiver usando a função entre account para gravar dados, convém definir bucket-owner-full-control para permitir que o proprietário do bucket leia os logs.

UpdateStateInfo

O estado atual de uma atualização de pipeline.

Nome do campo

Tipo

Descrição

update_id

STRING

O identificador exclusivo para esta atualização.

state

STRING

O estado da atualização. Um de QUEUED, CREATED, WAITING_FOR_RESOURCES, INITIALIZING, RESETTING, SETTING_UP_TABLES, RUNNING, STOPPING, COMPLETED, FAILED ou CANCELED.

creation_time

STRING

Carimbo de data/hora quando esta atualização foi criada.

WorkspaceStorageInfo

informações de armazenamento workspace .

Nome do campo

Tipo

Descrição

destination

STRING

Destino do arquivo. Exemplo: /Users/someone@domain.com/init_script.sh