Databricksを使い続けて3年経って、Databricksノートブックで普通にinput
を使えることを初めて知りました。
Databricks SDK for Pythonを使います。
%pip install databricks-sdk --upgrade
dbutils.library.restartPython()
以下のように入力を受け付けたい場所でinput
を使います。ジョブを作成する際にパラメータを指定します。
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.jobs import Task, NotebookTask, Source
w = WorkspaceClient()
job_name = input("ジョブの名称 (例 my-job): ")
description = input("ジョブの説明文 (例 My job): ")
existing_cluster_id = input("ジョブを実行するワークスペースの既存クラスターID (例 1234-567890-ab123cd4): ")
notebook_path = input("実行するノートブックのワークスペースパス (例 /Users/someone@example.com/my-notebook): ")
task_key = input("ジョブのタスクに適用するキー(タスク名) (for example, my-key): ")
print("ジョブの作成を試みます。お待ちください...\n")
j = w.jobs.create(
name = job_name,
tasks = [
Task(
description = description,
existing_cluster_id = existing_cluster_id,
notebook_task = NotebookTask(
base_parameters = {"n_estimators": 50},
notebook_path = notebook_path,
source = Source("WORKSPACE")
),
task_key = task_key
)
]
)
print(f"View the job at {w.config.host}/#job/{j.job_id}\n")
上のセルを実行すると入力ボックスが表示されます。値を入力してEnterを押します。
パラメータをクイックに変更して試行錯誤したい場合には有効ですね。って、もっと早く気づけという話ですが。