Python SDK ile Databricks
Avi Steinberg
Senior Software Engineer
WorkspaceClient.current_user.me().user_name oturum açan kullanıcının adını alır/Users/${username}/${notebook_name} biçimindedir# Çalışma alanımızda My_Notebook adlı bir not defteri olduğunu varsayalım
w = WorkspaceClient()
notebook_path = f'/Users/{w.current_user.me().user_name}/My_Notebook'
WorkspaceClient.jobs.create(createParams)
Oluşturulacak işi tanımlamak için name ve tasks parametrelerini geçirin
createParams:
name: str
tasks: List[Task]
Task:
description=str
notebook_task=NotebookTask
task_key=str
NotebookTask:
notebook_path: str
from databricks.sdk import WorkspaceClient # "My_Notebook" adlı not defterine işaret eden yolu oluşturun w = WorkspaceClient() notebook_path = f'/Users/{w.current_user.me().user_name}/My_Notebook'# Datacamp_Test_Notebook'u çalıştıran bir iş oluşturun new_job = w.jobs.create(name='sdk-dc-project-task', tasks=[jobs.Task( description="create_notebook_test", notebook_task=jobs.NotebookTask(notebook_path=notebook_path), task_key="my-key") ]) print(f"New Job Id={new_job.job_id}")w.jobs.run_now(job_id=new_job.job_id).result() # Oluşturulan işi çalıştır
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
jobs = w.jobs.list()
for job in jobs:
print(f"JobId={job.job_id}")
JobId=888763141802192
JobId=37050453972815
JobId=681550316180975
JobId=629994089852037
WorkspaceClient.jobs.delete(job_id: str)
# Bunun önkoşulu, Databricks kümesinde istenen # Databricks not defterinin oluşturulmuş olmasıdır w = WorkspaceClient() notebook_path = f'/Users/{w.current_user.me().user_name}/My_Notebook' # Datacamp_Test_Notebook'u çalıştıran bir iş oluşturun new_job = w.jobs.create(name='sdk-dc-project-task', tasks=[ jobs.Task(description="create_notebook_test", existing_cluster_id=cluster_id, notebook_task=jobs.NotebookTask(notebook_path=notebook_path), task_key="my-key") ])w.jobs.delete(job_id=new_job.job_id)
İşi aşağıdaki saatlerde zamanlamak için Cron ifadeleri:
0 30 3 * * ? 0 45 2 * * ?Bir not defterini her gün saat 03:00'te çalışacak şekilde zamanlayabiliriz
# Datacamp_Test_Notebook'u çalıştıran bir iş oluşturun cron_expression = "0 0 3 * * ?"created_job = w.jobs.create( name='sdk-dc-project-task', tasks=[jobs.Task(description="test",notebook_task=jobs.NotebookTask(notebook_path=notebook_path), task_key="my-key")], timeout_seconds=3600,schedule=jobs.CronSchedule(quartz_cron_expression=cron_expression, timezone_id="America/New_York") )
Python SDK ile Databricks