Freigeben über


Delta Live Tables: API-Leitfaden

Wichtig

Der Inhalt dieses Artikels wurde eingestellt und wird möglicherweise nicht mehr aktualisiert. Weitere Informationen finden Sie unter Delta Live Tables in der Databricks-REST-API-Referenz.

Mit der Delta Live Tabellen-API können Sie Details zu Pipelines erstellen, bearbeiten, löschen, starten und anzeigen.

Wichtig

Für den Zugriff auf Databricks-REST-APIs müssen Sie sich authentifizieren.

Erstellen einer Pipeline

Endpunkt HTTP-Methode
2.0/pipelines POST

Erstellt eine neue Delta Live Tabellen-Pipeline.

Beispiel

In diesem Beispiel wird eine neue ausgelöste Pipeline erstellt.

Anforderung

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
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

response

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

Anforderungsstruktur

Weitere Informationen finden Sie unter PipelineSettings.

Antwortstruktur

Feldname Typ BESCHREIBUNG
pipeline_id STRING Der eindeutige Bezeichner für die neu erstellte Pipeline.

Bearbeiten einer Pipeline

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id} PUT

Aktualisiert die Einstellungen für eine vorhandene Pipeline.

Beispiel

In diesem Beispiel wird der Pipeline ein target Parameter mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 hinzugefügt:

Anforderung

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
}

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Anforderungsstruktur

Weitere Informationen finden Sie unter PipelineSettings.

Löschen einer Pipeline

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id} DELETE

Löscht eine Pipeline aus dem Delta Live Tabellensystem.

Beispiel

In diesem Beispiel wird die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5gelöscht:

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Starten eines Pipelineupdates

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id}/updates POST

Startet ein Update für eine Pipeline. Sie können ein Update für das gesamte Pipelinediagramm oder ein selektives Update für bestimmte Tabellen starten.

Beispiele

Starten einer vollständigen Aktualisierung

In diesem Beispiel wird ein Update mit vollständiger Aktualisierung für die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 gestartet:

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

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

Starten eines Updates ausgewählter Tabellen

In diesem Beispiel wird ein Update gestartet, das die sales_orders_cleaned- und sales_order_in_chicago-Tabellen in der Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 aktualisiert:

Anforderung
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"] }'

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

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

Starten eines vollständigen Updates ausgewählter Tabellen

In diesem Beispiel wird ein Update der sales_orders_cleaned- und sales_order_in_chicago-Tabellen und ein Update mit vollständiger Aktualisierung der customers- und sales_orders_raw-Tabellen in der Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 gestartet.

Anforderung
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"] }'

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

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

Anforderungsstruktur

Feldname Typ Beschreibung
full_refresh BOOLEAN Gibt an, ob alle Daten erneut verarbeitet werden sollen. Bei true setzt das Delta Live Tables-System alle Tabellen zurück, die zurückgesetzt werden können, bevor die Pipeline ausgeführt wird.

Dieses Feld ist optional.

Standardwert: false.

Es wird ein Fehler zurückgegeben, wenn full_refesh entsprechend TRUE und entweder refresh_selection oder full_refresh_selection festgelegt ist.
refresh_selection Ein Array von STRING Eine Liste der zu aktualisierenden Tabellen. Zweck
refresh_selection, um eine Aktualisierung einer ausgewählten Gruppe von Tabellen im Pipelinediagramm zu starten.

Dieses Feld ist optional. Wenn
refresh_selection und
full_refresh_selection leer sind, wird das gesamte Pipelinediagramm aktualisiert.

Ein Fehler wird zurückgegeben, wenn:

* full_refesh ist WAHR und
refresh_selection ist festgelegt.
* Mindestens eine der angegebenen Tabellen ist im Pipelinediagramm nicht vorhanden.
full_refresh_selection Ein Array von STRING Eine Liste der Tabellen, die mit vollständiger Aktualisierung aktualisiert werden sollen. Verwenden Sie full_refresh_selection zum Starten eines Updates einer ausgewählten Gruppe von Tabellen. Die Zustände der angegebenen Tabellen werden zurückgesetzt, bevor das Delta Live Tables-System das Update startet.

Dieses Feld ist optional. Wenn
refresh_selection und
full_refresh_selection leer sind, wird das gesamte Pipelinediagramm aktualisiert.

Ein Fehler wird zurückgegeben, wenn:

* full_refesh ist WAHR und
refresh_selection ist festgelegt.
* Mindestens eine der angegebenen Tabellen ist im Pipelinediagramm nicht vorhanden.
* Mindestens eine der angegebenen Tabellen kann nicht zurückgesetzt werden.

Antwortstruktur

Feldname Typ Beschreibung
update_id STRING Der eindeutige Bezeichner des neu erstellten Updates.
request_id STRING Der eindeutige Bezeichner der Anforderung, die das Update gestartet hat.

Abrufen des Status einer Pipeline-Updateanforderung

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id}/requests/{request_id} GET

Ruft den Status und die Informationen für das Pipelineupdate ab, das request_id zugeordnet ist, wobei es sich bei request_id um einen eindeutigen Bezeichner für die Anforderung handelt, die das Pipelineupdate einleitet. Wenn das Update wiederholt oder neu gestartet wird, erbt das neue Update die request_id.

Beispiel

Für die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 gibt dieses Beispiel Status und Informationen für das Update zurück, das der Anforderungs-ID a83d9f7c-d798-4fd5-aa39-301b6e6f4429 zugeordnet ist:

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

response

{
   "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"
   }
}

Antwortstruktur

Feldname Typ Beschreibung
status STRING Der Status der Pipeline-Updateanforderung. Einer der folgenden Werte:

* ACTIVE: Ein Update für diese Anforderung wird aktiv ausgeführt oder wird möglicherweise in einem neuen Update wiederholt.
* TERMINATED: Die Anforderung wurde beendet und wird nicht wiederholt oder neu gestartet.
pipeline_id STRING Der eindeutige Bezeichner der Pipeline.
update_id STRING Der eindeutige Bezeichner des Updates.
config PipelineSettings Die Pipeline-Einstellungen.
cause STRING Der Trigger für das Update. Einer der folgenden Werte: API_CALL,
RETRY_ON_FAILURE, SERVICE_UPGRADE, SCHEMA_CHANGE,
JOB_TASK oder USER_ACTION.
state STRING Der Zustand des Updates. Einer der folgenden Werte: QUEUED, CREATED
WAITING_FOR_RESOURCES, INITIALIZING, RESETTING,
SETTING_UP_TABLES, RUNNING, STOPPING, COMPLETED,
FAILED oder CANCELED.
cluster_id STRING Der Bezeichner des Clusters, auf dem das Update ausgeführt wird.
creation_time INT64 Der Zeitstempel, als das Update erstellt wurde.
full_refresh BOOLEAN Gibt an, ob dieses Update vor der Ausführung alle Tabellen zurücksetzt
refresh_selection Ein Array von STRING Eine Liste der Tabellen, die ohne vollständige Aktualisierung aktualisiert werden sollen.
full_refresh_selection Ein Array von STRING Eine Liste der Tabellen, die mit vollständiger Aktualisierung aktualisiert werden sollen.
request_id STRING Der eindeutige Bezeichner der Anforderung, die das Update gestartet hat. Dies ist der Wert, der von der Update-Anforderung zurückgegeben wird. Wenn das Update wiederholt oder neu gestartet wird, erbt das neue Update die request_id. Die update_id unterscheidet sich jedoch.

Beenden eines aktiven Pipeline-Updates

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id}/stop POST

Beendet jedes aktive Pipeline-Update. Wenn kein Update ausgeführt wird, ist diese Anforderung nicht betriebsbereit.

Für eine fortlaufende Pipeline wird die Pipelineausführung angehalten. Tabellen, die derzeit den Abschluss der Aktualisierung verarbeiten, aber Downstreamtabellen werden nicht aktualisiert. Im nächsten Pipelineupdate führt Delta Live Tables eine ausgewählte Aktualisierung von Tabellen aus, die die Verarbeitung nicht abgeschlossen haben und die Verarbeitung des verbleibenden Pipeline-DAGs fortsetzen.

Für eine ausgelöste Pipeline wird die Pipelineausführung beendet. Tabellen, die derzeit den Abschluss der Aktualisierung verarbeiten, aber Downstreamtabellen werden nicht aktualisiert. Beim nächsten Pipelineupdate aktualisiert Delta Live Tables alle Tabellen.

Beispiel

In diesem Beispiel wird ein Update für die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 beendet:

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Pipeline-Ereignisse auflisten

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id}/events GET

Ruft Ereignisse für eine Pipeline ab.

Beispiel

In diesem Beispiel werden maximal 5 Ereignisse für die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 abgerufen.

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

Anforderungsstruktur

Feldname Typ Beschreibung
page_token STRING Über den vorherigen Aufruf angezeigtes Seitentoken. Dieses Feld enthält gegenseitig alle Felder in dieser Anforderung mit Ausnahme von max_results. Ein Fehler wird zurückgegeben, wenn andere Felder als max_results festgelegt werden, wenn dieses Feld festgelegt wird.

Dieses Feld ist optional.
max_results INT32 Die maximale Anzahl von Einträgen, die auf einer einzelnen Seite angezeigt werden sollen. Das System gibt möglicherweise weniger als max_results Ereignisse in einer Antwort zurück, auch wenn mehr Ereignisse verfügbar sind.

Dieses Feld ist optional.

Der Standardwert ist 25.

Der Maximalwert ist 100. Ein Fehler wird angezeigt, wenn der Wert von
max_results größer als 100 ist.
order_by STRING Eine Zeichenfolge, die eine Sortierreihenfolge nach Zeitstempel für die Ergebnisse angibt, z. B. ["timestamp asc"].

Die Sortierreihenfolge kann aufsteigend oder absteigend sein. Standardmäßig werden Ereignisse in absteigender Reihenfolge nach Zeitstempel zurückgegeben.

Dieses Feld ist optional.
filter STRING Kriterien zum Auswählen einer Teilmenge der Ergebnisse, ausgedrückt mit einer SQL-ähnlichen Syntax. Die folgenden Filter werden unterstützt:

* level='INFO' (oder WARN oder ERROR)
* level in ('INFO', 'WARN')
* id='[event-id]'
* timestamp > 'TIMESTAMP' (oder >=,<,<=,=)

Zusammengesetzte Ausdrücke werden unterstützt, z. B.:
level in ('ERROR', 'WARN') AND timestamp> '2021-07-22T06:37:33.083Z'

Dieses Feld ist optional.

Antwortstruktur

Feldname Typ Beschreibung
events Ein Pipeline-Ereignis-Array. Die Liste der Ereignisse, die den Anforderungskriterien entsprechen.
next_page_token STRING Falls vorhanden, ein Token zum Abrufen der nächsten Ereignisseite.
prev_page_token STRING Falls vorhanden, ein Token zum Abrufen der vorherigen Ereignisseite.

Pipeline-Details abrufen

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id} GET

Ruft Details zu einer Pipeline ab, einschließlich der Pipeline-Einstellungen und der letzten Updates.

Beispiel

Dieses Beispiel ruft Details für die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 ab:

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

response

{
  "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"
}

Antwortstruktur

Feldname Typ Beschreibung
pipeline_id STRING Der eindeutige Bezeichner der Pipeline.
spec PipelineSettings Die Pipeline-Einstellungen.
state STRING Der Status der Pipeline. Einer der folgenden Werte: IDLE oder RUNNING.

Wenn Status = RUNNING ist, gibt es mindestens ein aktives Update.
cluster_id STRING Der Bezeichner des Clusters, in dem die Pipeline ausgeführt wird.
name STRING Der benutzerfreundliche Name für diese Pipeline.
creator_user_name STRING Der Benutzername des Pipeline-Erstellers.
latest_updates Ein Array von UpdateStateInfo Status der neuesten Updates für die Pipeline, so geordnet, dass die neuesten Update zuerst angezeigt werden.
run_as_user_name STRING Der Benutzername, unter dem die Pipeline ausgeführt wird.

Update-Details abrufen

Endpunkt HTTP-Methode
2.0/pipelines/{pipeline_id}/updates/{update_id} GET

Ruft Details für ein Pipeline-Update ab.

Beispiel

Dieses Beispiel ruft Details für das Update 9a84f906-fc51-11eb-9a03-0242ac130003 für die Pipeline mit der ID a12cd3e4-0ab1-1abc-1a2b-1a2bcd3e4fg5 ab:

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

response

{
  "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"
  }
}

Antwortstruktur

Feldname Typ Beschreibung
pipeline_id STRING Der eindeutige Bezeichner der Pipeline.
update_id STRING Der eindeutige Bezeichner dieses Updates.
config PipelineSettings Die Pipeline-Einstellungen.
cause STRING Der Trigger für das Update. Einer der folgenden Werte: API_CALL,
RETRY_ON_FAILURE, SERVICE_UPGRADE.
state STRING Der Zustand des Updates. Einer der folgenden Werte: QUEUED, CREATED
WAITING_FOR_RESOURCES, INITIALIZING, RESETTING,
SETTING_UP_TABLES, RUNNING, STOPPING, COMPLETED,
FAILED oder CANCELED.
cluster_id STRING Der Bezeichner des Clusters, in dem die Pipeline ausgeführt wird.
creation_time INT64 Der Zeitstempel, als das Update erstellt wurde.
full_refresh BOOLEAN Gibt an, ob dies eine vollständige Aktualisierung war. „True“ gibt an, dass alle Pipelinetabellen vor dem Ausführen des Updates zurückgesetzt wurden.

Auflisten von Pipelines

Endpunkt HTTP-Methode
2.0/pipelines/ GET

Listet Pipelines auf, die im Delta Live Tabellensystem definiert sind.

Beispiel

In diesem Beispiel werden Details für Pipelines abgerufen, deren Name quickstart enthält:

Anforderung

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

Ersetzen Sie:

  • <databricks-instance> durch den Namen der Azure Databricks-Arbeitsbereichsinstanz, zum Beispiel adb-1234567890123456.7.azuredatabricks.net.

In diesem Beispiel wird eine NETRC-Datei verwendet.

response

{
  "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"
}

Anforderungsstruktur

Feldname Typ Beschreibung
page_token STRING Über den vorherigen Aufruf angezeigtes Seitentoken.

Dieses Feld ist optional.
max_results INT32 Die maximale Anzahl von Einträgen, die auf einer einzelnen Seite angezeigt werden sollen. Das System gibt möglicherweise weniger als max_results Ereignisse in einer Antwort zurück, auch wenn mehr Ereignisse verfügbar sind.

Dieses Feld ist optional.

Der Standardwert ist 25.

Der Maximalwert ist 100. Ein Fehler wird angezeigt, wenn der Wert von
max_results größer als 100 ist.
order_by Ein Array von STRING Eine Liste von Zeichenfolgen, die die Reihenfolge der Ergebnisse angeben, z. B.
["name asc"]. Unterstützte order_by-Felder sind id und
name. Der Standardwert lautet id asc.

Dieses Feld ist optional.
filter STRING Wählen Sie eine Teilmenge der Ergebnisse basierend auf den angegebenen Kriterien aus.

Die folgenden Filter werden unterstützt:

"notebook='<path>'", um Pipelines auszuwählen, die auf den angegebenen Notebookpfad verweisen.

name LIKE '[pattern]', um Pipelines mit einem Namen auszuwählen, der pattern entspricht. Platzhalter werden unterstützt, z. B.:
name LIKE '%shopping%'

Zusammengesetzte Filter werden nicht unterstützt.

Dieses Feld ist optional.

Antwortstruktur

Feldname Typ Beschreibung
statuses Ein Array von PipelineStateInfo Die Liste der Ereignisse, die den Anforderungskriterien entsprechen.
next_page_token STRING Falls vorhanden, ein Token zum Abrufen der nächsten Ereignisseite.
prev_page_token STRING Falls vorhanden, ein Token zum Abrufen der vorherigen Ereignisseite.

Datenstrukturen

Inhalt dieses Abschnitts:

ABFSSStorageInfo

Azure Data Lake Storage (ADLS)-Speicherinformationen.

Feldname Typ Beschreibung
destination STRING Ziel der Datei. Beispiel: abfss://...

ClusterLogConf

Pfad zum Clusterprotokoll.

Feldname Typ Beschreibung
dbfs DbfsStorageInfo DBFS-Speicherort des Clusterprotokolls. Das Ziel muss angegeben werden. Ein auf ein Objekt angewendeter
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

DbfsStorageInfo

DBFS-Speicherinformationen.

Feldname Typ Beschreibung
destination STRING DBFS-Ziel. Beispiel: dbfs:/my/path

FileStorageInfo

Dateispeicherinformationen.

Hinweis

Dieser Speicherorttyp ist nur für Cluster verfügbar, die mit Databricks-Containerdiensten eingerichtet wurden.

Feldname Typ Beschreibung
destination STRING Ziel der Datei. Beispiel: file:/my/file.sh

InitScriptInfo

Pfad zu einem Initialisierungsskript.

Anweisungen zur Verwendung von Initialisierungsskripts mit Databricks-Containerdiensten finden Sie unter Verwenden eines Initialisierungsskripts.

Hinweis

Der Dateispeichertyp (Feldname: file) ist nur für Cluster verfügbar, die mit Databricks-Containerdiensten eingerichtet wurden. Weitere Informationen finden Sie unter FileStorageInfo.

Feldname Typ Beschreibung
workspace ODER
dbfs (veraltet)

OR
abfss
WorkspaceStorageInfo

DbfsStorageInfo (veraltet)

ABFSSStorageInfo
Arbeitsbereichsspeicherort des Initialisierungsskripts. Das Ziel muss angegeben werden. Ein auf ein Objekt angewendeter
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Veraltet) DBFS-Speicherort des Initialisierungsskripts. Das Ziel muss angegeben werden. Ein auf ein Objekt angewendeter
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Azure Data Lake Storage (ADLS)-Speicherort des Initialisierungsskripts. Das Ziel muss angegeben werden. Beispiel: { "abfss": { "destination" : "abfss://..." } }

KeyValue

Ein Schlüssel-Wert-Paar zum Angeben von Konfigurationsparametern.

Feldname Typ Beschreibung
key STRING Der Name einer Konfigurationseigenschaft.
value STRING Der Wert einer Konfigurationseigenschaft.

NotebookLibrary

Eine Spezifikation für ein Notebook, das Pipelinecode enthält.

Feldname Typ Beschreibung
path STRING Der absolute Pfad zum Notebook.

Dieses Feld ist ein Pflichtfeld.

PipelinesAutoScale

Attribute zum Definieren eines Clusters mit automatischer Skalierung.

Feldname Typ Beschreibung
min_workers INT32 Die mindestens erforderliche Anzahl von Workern, auf die der Cluster herunterskaliert werden kann, wenn er nicht ausgelastet ist. Dies ist auch die anfängliche Anzahl von Workern, über die der Cluster nach der Erstellung verfügt.
max_workers INT32 Die maximal zulässige Anzahl von Workern, auf die der Cluster hochskaliert werden kann, wenn er überlastet ist. „max_workers“ muss streng größer sein als „min_workers“.
mode STRING Der Modus für die automatische Skalierung des Clusters:

* ENHANCED für die Verwendung der erweiterten automatischen Skalierung.
* LEGACY für die Verwendung der automatischen Skalierung des Clusters.

PipelineLibrary

Eine Spezifikation für Pipelineabhängigkeiten.

Feldname Typ Beschreibung
notebook NotebookLibrary Der Pfad zu einem Notebook, das Delta Live Tabellen-Datasets definiert. Der Pfad muss sich im Databricks-Arbeitsbereich befinden, z. B.:
{ "notebook" : { "path" : "/my-pipeline-notebook-path" } }.

PipelinesNewCluster

Eine Pipelineclusterspezifikation.

Das Delta Live Tabellensystem legt die folgenden Attribute fest. Diese Attribute können nicht von Benutzern konfiguriert werden:

  • spark_version
Feldname Typ Beschreibung
label STRING Eine Bezeichnung für die Clusterspezifikation, entweder
default, um den Standardcluster zu konfigurieren, oder
maintenance, um den Wartungscluster zu konfigurieren.

Dieses Feld ist optional. Der Standardwert ist default.
spark_conf KeyValue Ein Objekt mit optionalen, benutzerspezifischen Schlüssel-Wert-Paaren für die Spark-Konfiguration. Sie können darüber hinaus eine Zeichenfolge mit zusätzlichen JVM-Optionen an den Treiber und die Executors übergeben, indem Sie
spark.driver.extraJavaOptions bzw. spark.executor.extraJavaOptions verwenden.

Spark-Beispielkonfigurationen:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} oder
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Dieses Feld codiert mithilfe eines einzigen Werts die Ressourcen, die jedem der Spark-Knoten in diesem Cluster zur Verfügung stehen. Spark-Knoten können beispielsweise für speicher- oder rechenintensive Workloads bereitgestellt und optimiert werden. Eine Liste der verfügbaren Knotentypen kann mit dem Aufruf Clusters API abgerufen werden.
driver_node_type_id STRING Der Knotentyp des Spark-Treibers. Dieses Feld ist optional. Ohne Festlegung wird der Treiberknotentyp auf den gleichen Wert festgelegt wie node_type_id (oben definiert).
ssh_public_keys Ein Array von STRING Inhalt des öffentlichen SSH-Schlüssels, der jedem Spark-Knoten in diesem Cluster hinzugefügt wird. Die entsprechenden privaten Schlüssel können verwendet werden, um sich mit dem Benutzernamen ubuntu an Port 2200 anzumelden. Bis zu 10 Schlüssel können angegeben werden.
custom_tags KeyValue Ein Objekt, das Tags für Clusterressourcen enthält. Databricks kennzeichnet alle Clusterressourcen zusätzlich zu „default_tags“ mit diesen Tags.

Hinweis:

* Tags werden für Legacyknotentypen wie „Für Compute optimiert“ und „Arbeitsspeicheroptimiert“ nicht unterstützt.
* In Azure Databricks sind maximal 45 benutzerdefinierte Tags zulässig.
cluster_log_conf ClusterLogConf Die Konfiguration für die Übermittlung von Spark-Protokollen an ein Ziel für die langfristige Speicherung. Für einen Cluster kann nur ein Ziel angegeben werden. Bei Angabe dieser Konfiguration werden die Protokolle im folgenden Abstand an das Ziel übermittelt:
5 mins. Das Ziel von Treiberprotokollen lautet <destination>/<cluster-ID>/driver, während das Ziel von Executorprotokollen <destination>/<cluster-ID>/executor lautet.
spark_env_vars KeyValue Ein Objekt, das optionale, benutzerdefinierte Schlüssel-Wert-Paare für Umgebungsvariablen enthält. Schlüssel-Wert-Paare der Form (X,Y) werden unverändert exportiert (d. h.
export X='Y'), wenn der Treiber und die Worker gestartet werden.

Wenn Sie eine zusätzliche Gruppe von SPARK_DAEMON_JAVA_OPTS angeben möchten, sollten Sie sie wie im folgenden Beispiel an $SPARK_DAEMON_JAVA_OPTS anhängen. Dadurch wird sichergestellt, dass auch alle von Azure Databricks verwalteten Standardumgebungsvariablen einbezogen werden.

Beispiele für Spark-Umgebungsvariablen:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} oder
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
init_scripts Ein InitScriptInfo-Array Die Konfiguration zum Speichern von Initialisierungsskripts. Hier kann eine beliebige Anzahl von Zielen angegeben werden. Die Skripts werden sequenziell in der angegebenen Reihenfolge ausgeführt. Wenn cluster_log_conf angegeben ist, werden Initialisierungsskript-Protokolle an gesendet.
<destination>/<cluster-ID>/init_scripts.
instance_pool_id STRING Die optionale ID des Instanzpools, zu dem der Cluster gehört. Siehe Poolkonfigurationsreferenz.
driver_instance_pool_id STRING Die optionale ID des Instanzpools, der für den Treiberknoten verwendet werden soll. Sie müssen auch Folgendes angeben:
instance_pool_id. Weitere Informationen finden Sie unter API für Instanzenpools.
policy_id STRING Eine Clusterrichtlinien-ID.
num_workers OR autoscale INT32 ODER InitScriptInfo Bei Verwendung von „num_workers“ die Anzahl von Workerknoten, die dieser Cluster aufweisen sollte. Ein Cluster umfasst einen Spark-Treiber und num_workers Executors für insgesamt num_workers + 1 Spark-Knoten.

Beim Lesen der Eigenschaften eines Clusters gibt dieses Feld die gewünschte Anzahl von Workern und nicht die tatsächliche Anzahl von Workern an. Wenn beispielsweise die Größe eines Clusters von 5 auf 10 Worker geändert wird, wird dieses Feld aktualisiert, um die Zielgröße von 10 Workern widerzuspiegeln, während die in Executors aufgeführten Worker schrittweise von 5 auf 10 erhöht werden, wenn die neuen Knoten bereitgestellt werden.

Bei der automatischen Skalierung sind Parameter erforderlich, um Cluster basierend auf der Last automatisch hoch- und herunterzuskalieren.

Dieses Feld ist optional.
apply_policy_default_values BOOLEAN Ob Richtlinienstandardwerte für fehlende Clusterattribute verwendet werden sollen.

PipelineSettings

Die Einstellungen für eine Pipelinebereitstellung.

Feldname Typ Beschreibung
id STRING Der eindeutige Bezeichner für diese Pipeline.

Der Bezeichner wird vom Delta Live Tabellensystem erstellt und darf beim Erstellen einer Pipeline nicht angegeben werden.
name STRING Dies ist ein Anzeigename für diese Pipeline.

Dieses Feld ist optional.

Standardmäßig muss der Pipelinename eindeutig sein. Um einen doppelten Namen zu verwenden, legen Sie allow_duplicate_names in der Pipelinekonfiguration auf true fest.
storage STRING Ein Pfad zu einem DBFS-Verzeichnis zum Speichern von Prüfpunkten und Tabellen, die von der Pipeline erstellt wurden.

Dieses Feld ist optional.

Das System verwendet einen Standardspeicherort, wenn dieses Feld leer ist.
configuration Eine Zuordnung von STRING:STRING Eine Liste von Schlüssel-Wert-Paaren, die der Spark-Konfiguration des Clusters hinzugefügt werden sollen, der die Pipeline ausführen soll.

Dieses Feld ist optional.

Elemente müssen als Schlüssel-Wert-Paare formatiert werden.
clusters Ein Array von PipelinesNewCluster Ein Array von Spezifikationen für die Cluster zum Ausführen der Pipeline.

Dieses Feld ist optional.

Wenn dies nicht angegeben ist, wählt das System eine Standardclusterkonfiguration für die Pipeline aus.
libraries Ein Array von PipelineLibrary Die Notebooks, die den Pipelinecode und alle Abhängigkeiten enthalten, die zum Ausführen der Pipeline erforderlich sind.
target STRING Ein Datenbankname zum Beibehalten von Pipelineausgabedaten.

Weitere Informationen finden Sie unter Veröffentlichen von Daten aus Delta Live Tables im Hive-Metastore.
continuous BOOLEAN Gibt an, ob es sich um eine kontinuierliche Pipeline handelt.

Dieses Feld ist optional.

Der Standardwert ist false.
development BOOLEAN Gibt an, ob die Pipeline im Entwicklungsmodus ausgeführt werden soll.

Dieses Feld ist optional.

Der Standardwert ist false.
photon BOOLEAN Gibt an, ob die Photon-Beschleunigung für diese Pipeline aktiviert ist.

Dieses Feld ist optional.

Der Standardwert ist false.
channel STRING Der Delta Live Tables-Releasekanal, der die Runtimeversion angibt, die für diese Pipeline verwendet werden soll. Folgende Werte werden unterstützt:

* preview, um die Pipeline mit bevorstehenden Änderungen an der Delta Live Tables-Runtime zu testen.
* current, um die aktuelle Delta Live Tables-Runtimeversion zu verwenden.

Dieses Feld ist optional.

Der Standardwert ist current.
edition STRING Die Produktedition von Delta Live Tables für die Ausführung der Pipeline:

* CORE unterstützt Streaming-Workloads zur Erfassung.
* PRO unterstützt auch Streaming-Workloads zur Erfassung und fügt Support für die CDC (Change Data Capture)-Verarbeitung hinzu.
* ADVANCED unterstützt alle Features der PRO-Edition und fügt Support für Workloads hinzu, die Delta Live Tables-Erwartungen zum Erzwingen von Datenqualitätseinschränkungen erfordern.

Dieses Feld ist optional.

Standardwert: advanced.

PipelineStateInfo

Der Zustand einer Pipeline, der Status der neuesten Updates und Informationen zu zugeordneten Ressourcen.

Feldname Typ Beschreibung
state STRING Der Status der Pipeline. Einer der folgenden Werte: IDLE oder RUNNING.
pipeline_id STRING Der eindeutige Bezeichner der Pipeline.
cluster_id STRING Der eindeutige Bezeichner des Clusters, in dem die Pipeline ausgeführt wird.
name STRING Der benutzerfreundliche Name der Pipeline.
latest_updates Ein Array von UpdateStateInfo Status der neuesten Updates für die Pipeline, so geordnet, dass die neuesten Update zuerst angezeigt werden.
creator_user_name STRING Der Benutzername des Pipeline-Erstellers.
run_as_user_name STRING Der Benutzername, unter dem die Pipeline ausgeführt wird. Dies ist ein schreibgeschützter Wert, der vom Pipelinebesitzer abgeleitet wird.

UpdateStateInfo

Der aktuelle Zustand eines Pipelineupdates.

Feldname Typ Beschreibung
update_id STRING Der eindeutige Bezeichner für dieses Update.
state STRING Der Zustand des Updates. Einer der folgenden Werte: QUEUED, CREATED,
WAITING_FOR_RESOURCES, INITIALIZING, RESETTING,
SETTING_UP_TABLES, RUNNING, STOPPING, COMPLETED,
FAILED oder CANCELED.
creation_time STRING Der Zeitstempel, als dieses Update erstellt wurde.

WorkspaceStorageInfo

Speicherinformationen des Arbeitsbereichs.

Feldname Typ Beschreibung
destination STRING Ziel der Datei. Beispiel: /Users/someone@domain.com/init_script.sh