Aracılığıyla paylaş


İş oluşturma ve yönetimi otomatikleştirme

Bu makalede, işlerin oluşturulmasını ve yönetilmesini otomatikleştirmek için geliştirici araçlarını kullanmaya nasıl başladığınız gösterilmektedir. Databricks CLI, Databricks SDK'ları ve REST API'sini tanıtır.

Not

Bu makalede Databricks CLI, Databricks Python SDK'sı ve REST API'yi kullanarak iş oluşturmaya ve yönetmeye yönelik örnekler verilmektedir. Programmatik olarak işleri CI/CD'nin bir parçası olarak yönetmek için Databricks Varlık Paketleri (DABs) veya Databricks Terraform sağlayıcısıkullanın.

Araçları karşılaştırma

Aşağıdaki tabloda, program aracılığıyla iş oluşturmak ve yönetmek için Databricks CLI, Databricks SDK'ları ve REST API'leri karşılaştırılır. Kullanılabilir tüm geliştirici araçları hakkında bilgi edinmek için bkz. Yerel geliştirme araçları.

Araç Açıklama
Databricks CLI REST API'yi sarmalayan Databricks komut satırı arabirimini (CLI) kullanarak Databricks işlevselliğine erişin. Deneme, kabuk betiği oluşturma ve REST API'yi doğrudan çağırma gibi tek seferlik görevler için CLI kullanın
Databricks SDK'ları Python, Java, Go veya R için kullanılabilen databricks SDK'sını kullanarak uygulama geliştirin ve özel Databricks iş akışları oluşturun. REST API çağrılarını doğrudan curl veya Postman kullanarak göndermek yerine, Databricks ile etkileşime geçmek için BIR SDK kullanabilirsiniz.
Databricks REST API Yukarıdaki seçeneklerden hiçbiri özel kullanım örneğiniz için işe yaramazsa Databricks REST API'sini doğrudan kullanabilirsiniz. Rest API'yi doğrudan tercih ettiğiniz programlama dilindeki bir SDK'nın şu anda kullanılamadığı işlemleri otomatikleştirme gibi kullanım örnekleri için kullanın.

Databricks CLI'yi kullanmaya başlama

Databricks CLI kimlik doğrulamasını yüklemek ve yapılandırmak için bkz. databricks CLI yükleme veya güncelleştirme ve Databricks CLI için kimlik doğrulamasını.

Databricks CLI, işlerle ilgili olanlar da dahil olmak üzere Databricks özellikleri için alt komutlar içerebilen bir dizi ilgili komut seti içeren komut gruplarına sahiptir. jobs komut grubu, işlerinizi ve iş çalıştırmalarınızı create, delete ve getgibi eylemlerle yönetmenizi sağlar. CLI, Databricks REST API'sini sarmaladığı için çoğu CLI komutu bir REST API isteğiyle eşlenir. Örneğin, databricks jobs getGET/api/2.2/jobs/get'e karşılık gelir.

"Jobs komut grubu, tek bir komut veya alt komut için daha ayrıntılı kullanım ve söz dizimi bilgilerini görmek için h bayrağını kullanın."

  • databricks jobs -h
  • databricks jobs <command-name> -h
  • databricks jobs <command-name> <subcommand-name> -h

Örnek: CLI kullanarak bir Databricks görevi alma

Çalışma alanında tek bir iş hakkındaki bilgileri yazdırmak için aşağıdaki komutu çalıştırın:

$ databricks jobs get <job-id>

databricks jobs get 478701692316314

Bu komut JSON döndürür:

{
  "created_time":1730983530082,
  "creator_user_name":"someone@example.com",
  "job_id":478701692316314,
  "run_as_user_name":"someone@example.com",
  "settings": {
    "email_notifications": {
      "no_alert_for_skipped_runs":false
    },
    "format":"MULTI_TASK",
    "max_concurrent_runs":1,
    "name":"job_name",
    "tasks": [
      {
        "email_notifications": {},
        "notebook_task": {
          "notebook_path":"/Workspace/Users/someone@example.com/directory",
          "source":"WORKSPACE"
        },
        "run_if":"ALL_SUCCESS",
        "task_key":"success",
        "timeout_seconds":0,
        "webhook_notifications": {}
      },
      {
        "depends_on": [
          {
            "task_key":"success"
          }
        ],
        "disable_auto_optimization":true,
        "email_notifications": {},
        "max_retries":3,
        "min_retry_interval_millis":300000,
        "notebook_task": {
          "notebook_path":"/Workspace/Users/someone@example.com/directory",
          "source":"WORKSPACE"
        },
        "retry_on_timeout":false,
        "run_if":"ALL_SUCCESS",
        "task_key":"fail",
        "timeout_seconds":0,
        "webhook_notifications": {}
      }
    ],
    "timeout_seconds":0,
    "webhook_notifications": {}
  }
}

Örnek: CLI kullanarak Databricks işi oluşturma

Aşağıdaki örnekte Databricks CLI'sı bir Databricks işi oluşturmak için kullanılır. Bu iş, belirtilen not defterini çalıştıran tek bir iş görevi içeriyor. Bu not defteri, wheel PyPI paketinin belirli bir sürümüne bağımlıdır. Bu görevi çalıştırmak için, iş geçici olarak PYSPARK_PYTHONadlı bir ortam değişkenini dışarı aktaran bir küme oluşturur. İş çalıştırıldıktan sonra küme sonlandırılır.

  1. Aşağıdaki JSON dosyasını kopyalayıp bir dosyaya yapıştırın. Mevcut herhangi bir işin JSON biçimine, iş sayfası kullanıcı arabiriminden JSON'u Görüntüle seçeneğini seçerek erişebilirsiniz.

    {
    "name": "My hello notebook job",
    "tasks": [
        {
        "task_key": "my_hello_notebook_task",
        "notebook_task": {
            "notebook_path": "/Workspace/Users/someone@example.com/hello",
            "source": "WORKSPACE"
        }
        }
    ]
    }
    
  2. Aşağıdaki komutu çalıştırın ve <file-path>'ı yeni oluşturduğunuz dosyanın yolu ve adıyla değiştirin.

    databricks jobs create --json @<file-path>
    

Databricks SDK'sını kullanmaya başlama

Databricks, Python, Java ve Go gibi popüler programlama dillerini kullanarak işlemleri otomatikleştirmenize olanak sağlayan SDK'lar sağlar. Bu bölümde Databricks işleri oluşturmak ve yönetmek için Python SDK'sını kullanmaya nasıl başladığınız gösterilmektedir.

Databricks not defterinizden veya yerel geliştirme makinenizden Databricks SDK'sını kullanabilirsiniz. Yerel geliştirme makinenizi kullanıyorsanız, önce Python için Databricks SDK'sını kullanmaya başlamatamamladığınızdan emin olun.

Not

Databricks not defterinden geliştiriyorsanız ve Databricks Runtime 12.2 LTS ve altı kullanan bir küme kullanıyorsanız, önce Python için Databricks SDK'sını yüklemeniz gerekir. Bkz. Pythoniçin Databricks SDK'sını yükleme veya yükseltme.

Örnek: Python SDK'sını kullanarak Databricks işi oluşturma

Aşağıdaki örnek not defteri kodu, var olan bir not defterini çalıştıran bir Databricks işi oluşturur. Mevcut not defterinin yolunu ve ilgili iş ayarlarını istemlerle alır.

İlk olarak, SDK'nın doğru sürümünün yüklendiğinden emin olun:

%pip install --upgrade databricks-sdk==0.40.0
%restart_python

Ardından, not defteri göreviyle iş oluşturmak için aşağıdaki komutu çalıştırarak istemleri yanıtlayın:

from databricks.sdk.service.jobs import JobSettings as Job
from databricks.sdk import WorkspaceClient

job_name            = input("Provide a short name for the job, for example, my-job: ")
notebook_path       = input("Provide the workspace path of the notebook to run, for example, /Users/someone@example.com/my-notebook: ")
task_key            = input("Provide a unique key to apply to the job's tasks, for example, my-key: ")

test_sdk = Job.from_dict(
   {
       "name": job_name ,
       "tasks": [
           {
               "task_key": task_key,
               "notebook_task": {
                   "notebook_path": notebook_path,
                   "source": "WORKSPACE",
               },
           },
       ],
   }
)

w = WorkspaceClient()
j = w.jobs.create(**test_sdk.as_shallow_dict())

print(f"View the job at {w.config.host}/#job/{j.job_id}\n")

Databricks REST API'sini kullanmaya başlama

Not

Databricks, karşılık gelen Databricks SDK'sı olmayan bir programlama dili kullanmıyorsanız Databricks CLI ve Databricks SDKkullanılmasını önerir.

Aşağıdaki örnek, tek bir işin ayrıntılarını almak için Databricks REST API'sine bir istekte bulunur. DATABRICKS_HOST ve DATABRICKS_TOKEN ortam değişkenlerinin, Azure Databricks kişisel erişim belirteci ile kimlik doğrulaması gerçekleştirmebölümünde açıklandığı gibi ayarlandığını varsayar.

$ curl --request GET "https://${DATABRICKS_HOST}/api/2.2/jobs/get" \
     --header "Authorization: Bearer ${DATABRICKS_TOKEN}" \
     --data '{ "job": "11223344" }'

Databricks REST API'sini kullanma hakkında bilgi almak için Databricks REST API başvuru belgelerinebakın.

Temizlemek

Yeni oluşturduğunuz işleri silmek için Databricks CLI'dan databricks jobs delete <job-id> çalıştırın veya işi doğrudan Databricks çalışma alanı kullanıcı arabiriminden silin.

Sonraki adımlar