Поделиться через


Запускает CLI (устаревшая версия)

Внимание

Эта документация устарела и может больше не обновляться.

Эта информация относится к устаревшим интерфейсам командной строки Databricks версии 0.18 и ниже. Databricks рекомендует использовать более новую версию Интерфейса командной строки Databricks версии 0.205 или более поздней. См. Что такое интерфейс командной строки Databricks?. Чтобы найти версию интерфейса командной строки Databricks, выполните команду databricks -v.

Чтобы выполнить миграцию с Databricks CLI версии 0.18 и ниже на Databricks CLI версии 0.205 и выше, ознакомьтесь с руководством по миграции Databricks CLI.

Для запуска подкоманд CLI для заданий Databricks добавьте их в databricks runs, а для запуска подкоманд CLI для задач Databricks добавьте их в databricks jobs. Для подкоманд CLI заданий Databricks см. CLI заданий (устаревшая версия). Вместе эти подкоманда вызывают API заданий и API заданий 2.0.

Внимание

Интерфейс командной строки запуска заданий Databricks поддерживает обращение к двум версиям REST API заданий Databricks: 2.1 и 2.0 (Функции выполнения заданий являются частью REST API заданий.) Версия 2.1 добавляет поддержку оркестрации заданий с несколькими задачами; см. Lakeflow Jobs и обновлении API заданий с версии 2.0 до 2.1. Databricks рекомендует вызывать версию 2.1, если только у вас нет устаревших скриптов, которые используют версию 2.0 и перенос которых невозможен.

Если не указано иное, сведения об использовании программных средств, приведенные в этой статье, в равной степени актуальны для версий 2.1 и 2.0.

Примечание.

Если при выполнении запроса задания интерфейсом командной строки выдается ошибка уровня 500, то Databricks рекомендует повторить запрос в течение 10 минут (с интервалом не менее 30 секунд между запросами).

Требования для вызова Jobs REST API 2.1

Чтобы настроить CLI для выполнения заданий Databricks и интерфейса командной строки для заданий, чтобы использовать REST API версию 2.1 для заданий, выполните следующие действия:

  1. обновите CLI до версии 0.16.0 или выше.

  2. Выполните одно из следующих действий:

    • Выполните команду databricks jobs configure --version=2.1. Это позволит добавить параметр jobs-api-version = 2.1 в файл ~/.databrickscfg в Unix, Linux или macOS или %USERPROFILE%\.databrickscfg в Windows. Все подкоманды запуска задания CLI (и подкоманды заданий CLI) будут вызывать по умолчанию REST API задач 2.1.
    • Вручную добавьте параметр jobs-api-version = 2.1 в файл ~/.databrickscfg в Unix, Linux или macOS или %USERPROFILE%\.databrickscfg в Windows. Все подкоманды запуска задания CLI (и подкоманды заданий CLI) будут вызывать по умолчанию REST API задач 2.1.
    • Добавьте параметр --version=2.1 (например, databricks runs list --version=2.1), чтобы заставить CLI выполнения задач вызывать REST API заданий 2.1 только для этого вызова.

    Если не предпринято ни одно из предыдущих действий, CLI запуска задания (и CLI заданий) будет по умолчанию вызывать REST API заданий 2.0.

Требования для вызова Jobs REST API 2.0

Чтобы настроить CLI для выполнения задач Databricks и командную строку для вызова Jobs REST API 2.0, выполните одно из следующих действий:

  • Используйте версию CLI Databricks ниже 0.16.0, либо
  • обновите интерфейс командной строки до версии 0.16.0 или более поздней, а затем выполните одно из следующих действий:
    • Выполните команду databricks jobs configure --version=2.0. Это позволит добавить параметр jobs-api-version = 2.0 в файл ~/.databrickscfg в Unix, Linux или macOS или %USERPROFILE%\.databrickscfg в Windows. Все подкоманды CLI выполнения заданий и CLI заданий будут по умолчанию обращаться к REST API заданий 2.0.
    • Вручную добавьте параметр jobs-api-version = 2.0 в файл ~/.databrickscfg в Unix, Linux или macOS или %USERPROFILE%\.databrickscfg в Windows. Все подкоманды CLI выполнения заданий и CLI заданий будут по умолчанию обращаться к REST API заданий 2.0.
    • Добавьте параметр --version=2.1 (например, databricks runs list --version=2.0), чтобы CLI запуска заданий вызывал REST API заданий 2.0 только для этого вызова.

Если не предпринято ни одно из предыдущих действий, CLI запуска задания (и CLI заданий) будет по умолчанию вызывать REST API заданий 2.0.

Подкоманды и общее использование

databricks runs --help
Usage: databricks runs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs runs.

Options:
  -v, --version   [VERSION]
  --debug         Debug mode. Shows full stack trace on error.
  --profile TEXT  CLI connection profile to use. The default profile is
                  "DEFAULT".

  -h, --help      Show this message and exit.

Commands:
  cancel      Cancels the specified run.
  get         Gets the metadata about a run in JSON form.
  get-output  Gets the output of a run.
  list        Lists job runs.
  submit      Submits a one-time run.

Отменить запуск

Чтобы просмотреть документацию по использованию, выполните команду databricks runs cancel --help.

databricks runs cancel --run-id 119
{}

Получить сведения о запуске

Чтобы просмотреть документацию по использованию, выполните команду databricks runs get --help.

Общие сведения об использовании

databricks runs get --run-id 2785782

Заметки по использованию Jobs CLI версии 2.1 и пример ответа

См. раздел Получение в обновлении api заданий 2.0 до версии 2.1.

Пример ответа интерфейса командной строки (CLI) для заданий 2.0

{
  "job_id": 1269263,
  "run_id": 2785782,
  "number_in_job": 1111,
  "original_attempt_run_id": 2785782,
  "state": {
    "life_cycle_state": "TERMINATED",
    "result_state": "SUCCESS",
    "state_message": ""
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
    }
  },
  "cluster_spec": {
    "new_cluster": {
      "spark_version": "8.1.x-scala2.12",
      "node_type_id": "Standard_F16s",
      "enable_elastic_disk": true,
      "azure_attributes": {
        "availability": "ON_DEMAND_AZURE"
      },
      "num_workers": 8
    }
  },
  "cluster_instance": {
    "cluster_id": "1234-567890-abcd123",
    "spark_context_id": "1234567890123456789"
  },
  "start_time": 1620947196985,
  "setup_duration": 36000,
  "execution_duration": 119000,
  "cleanup_duration": 3000,
  "end_time": 1620947355499,
  "trigger": "ONE_TIME",
  "creator_user_name": "someone@example.com",
  "run_name": "my-notebook-run",
  "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
  "run_type": "JOB_RUN",
  "attempt_number": 0
}

Получение выходных данных выполнения

Чтобы просмотреть документацию по использованию, выполните команду databricks runs get-output --help.

Примечание.

Если notebook_task возвращает значение из вызова dbutils.notebook.exit(), то Databricks ограничивает возвращаемое значение первыми 5 МБ данных. Чтобы вернуть результат большего объема, можно сохранить результат задания в службе облачного хранения.

Общие сведения об использовании

databricks runs get-output --run-id 2785782

Заметки по использованию заданий CLI 2.1

См. раздел Получение выходных данных в Обновление API заданий с версии 2.0 до 2.1.

Пример ответа интерфейса командной строки (CLI) для заданий 2.0

{
  "metadata": {
    "job_id": 1269263,
    "run_id": 2785782,
    "number_in_job": 1111,
    "original_attempt_run_id": 2785782,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
      }
    },
    "cluster_spec": {
      "new_cluster": {
        "spark_version": "8.1.x-scala2.12",
        "node_type_id": "Standard_F16s",
        "enable_elastic_disk": true,
        "azure_attributes": {
          "availability": "ON_DEMAND_AZURE"
        },
        "num_workers": 8
      }
    },
    "cluster_instance": {
      "cluster_id": "1234-567890-abcd123",
      "spark_context_id": "1234567890123456789"
    },
    "start_time": 1620947196985,
    "setup_duration": 36000,
    "execution_duration": 119000,
    "cleanup_duration": 3000,
    "end_time": 1620947355499,
    "trigger": "ONE_TIME",
    "creator_user_name": "someone@example.com",
    "run_name": "my-notebook-run",
    "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
    "run_type": "JOB_RUN",
    "attempt_number": 0
  },
  "notebook_output": {}
}

Получение сведений обо всех запусках

Чтобы просмотреть документацию по использованию, выполните команду databricks runs list --help.

Общие сведения об использовании

databricks runs list --output JSON

Заметки по использованию Jobs CLI версии 2.1 и пример ответа

См. список запусков в разделе 'Обновление с API задач 2.0 на 2.1'.

Пример ответа интерфейса командной строки (CLI) для заданий 2.0

{
  "runs": [
    {
      "job_id": 1269263,
      "run_id": 2785782,
      "number_in_job": 1111,
      "original_attempt_run_id": 2785782,
      "state": {
         "life_cycle_state": "TERMINATED",
         "result_state": "SUCCESS",
         "state_message": ""
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
        }
      },
      "cluster_spec": {
        "new_cluster": {
          "spark_version": "8.1.x-scala2.12",
          "node_type_id": "Standard_F16s",
          "enable_elastic_disk": true,
          "azure_attributes": {
            "availability": "ON_DEMAND_AZURE"
          },
          "num_workers": 8
        }
      },
      "cluster_instance": {
        "cluster_id": "1234-567890-abcd123",
        "spark_context_id": "1234567890123456789"
      },
      "start_time": 1620947196985,
      "setup_duration": 36000,
      "execution_duration": 119000,
      "cleanup_duration": 3000,
      "end_time": 1620947355499,
      "trigger": "ONE_TIME",
      "creator_user_name": "someone@example.com",
      "run_name": "my-notebook-run",
      "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
      "run_type": "JOB_RUN",
      "attempt_number": 0
    },
    ...
  ],
  "has_more": false
}

Если has_more возвращает true , то доступны сведения о дополнительных запусках. Используйте параметр --offset для получения сведений о запусках по отношению к самому последнему запуску. Например, чтобы получить сведения, начинающие с десятого самого недавнего запуска, укажите --offset 10.

Используйте параметр --limit для получения сведений о фиксированном числе запусков. Например, чтобы получить сведения о следующих 5 запусках, укажите --limit 5. Можно указать максимум 1000 запусков. Если значение аргумента не указано, то значение по умолчанию — 20.

Отправка однократного запуска

Чтобы просмотреть документацию по использованию, выполните команду databricks runs submit --help.

Общие сведения об использовании

databricks runs submit --json-file submit-run.json

Примечания по использованию Jobs REST API 2.1 и пример запроса

См. статью "Запуски отправки в обновлении с API заданий 2.0 до версии 2.1".

Пример запроса и ответа Jobs REST API 2.0

submit-run.json:

{
  "run_name": "my-spark-run",
  "new_cluster": {
    "spark_version": "8.1.x-scala2.12",
    "node_type_id": "Standard_F16s",
    "enable_elastic_disk": true,
    "azure_attributes": {
      "availability": "ON_DEMAND_AZURE"
    },
    "num_workers": 8
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}
{
  "run_id": 123
}