Paket yapılandırma örnekleri
Bu makalede Databricks Varlık Paketleri özellikleri ve ortak paket kullanım örnekleri için örnek yapılandırma sağlanır.
İpucu
Bu makaledeki örneklerden bazıları ve diğerleri paket örnekleri deposunda bulunabilir.
Sunucusuz işlem kullanan iş
Databricks Varlık Paketleri sunucusuz işlem üzerinde çalışan işleri destekler. Bunu yapılandırmak için, bir işin ayarını atlayabilir clusters
veya aşağıdaki örneklerde gösterildiği gibi bir ortam belirtebilirsiniz.
# A serverless job (no cluster definition)
resources:
jobs:
serverless_job_no_cluster:
name: serverless_job_no_cluster
email_notifications:
on_failure:
- someone@example.com
tasks:
- task_key: notebook_task
notebook_task:
notebook_path: ../src/notebook.ipynb
# A serverless job (environment spec)
resources:
jobs:
serverless_job_environment:
name: serverless_job_environment
tasks:
- task_key: task
spark_python_task:
python_file: ../src/main.py
# The key that references an environment spec in a job.
environment_key: default
# A list of task execution environment specifications that can be referenced by tasks of this job.
environments:
- environment_key: default
# Full documentation of this spec can be found at:
# https://docs.databricks.com/api/workspace/jobs/create#environments-spec
spec:
client: "1"
dependencies:
- cowsay
Sunucusuz işlem kullanan işlem hattı
Databricks Varlık Paketleri sunucusuz işlem üzerinde çalışan işlem hatlarını destekler. Bunu yapılandırmak için işlem hattı serverless
ayarını olarak true
ayarlayın. Aşağıdaki örnek yapılandırma, sunucusuz işlem üzerinde çalışan bir işlem hattını ve işlem hattının saatte bir yenilenmesini tetikleyen bir işi tanımlar.
# A pipeline that runs on serverless compute
resources:
pipelines:
my_pipeline:
name: my_pipeline
target: ${bundle.environment}
serverless: true
catalog: users
libraries:
- notebook:
path: ../src/my_pipeline.ipynb
configuration:
bundle.sourcePath: /Workspace/${workspace.file_path}/src
# This defines a job to refresh a pipeline that is triggered every hour
resources:
jobs:
my_job:
name: my_job
# Run this job once an hour.
trigger:
periodic:
interval: 1
unit: HOURS
email_notifications:
on_failure:
- someone@example.com
tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.my_pipeline.id}
SQL not defteriyle iş
Aşağıdaki örnek yapılandırma, SQL not defteri olan bir işi tanımlar.
resources:
jobs:
job_with_sql_notebook:
name: Job to demonstrate using a SQL notebook with a SQL warehouse
tasks:
- task_key: notebook
notebook_task:
notebook_path: ./select.sql
warehouse_id: 799f096837fzzzz4
Birden çok tekerlek dosyası içeren iş
Aşağıdaki örnek yapılandırma, birden çok *.whl
dosya içeren bir iş içeren bir paketi tanımlar.
# job.yml
resources:
jobs:
example_job:
name: "Example with multiple wheels"
tasks:
- task_key: task
spark_python_task:
python_file: ../src/call_wheel.py
libraries:
- whl: ../my_custom_wheel1/dist/*.whl
- whl: ../my_custom_wheel2/dist/*.whl
new_cluster:
node_type_id: i3.xlarge
num_workers: 0
spark_version: 14.3.x-scala2.12
spark_conf:
"spark.databricks.cluster.profile": "singleNode"
"spark.master": "local[*, 4]"
custom_tags:
"ResourceClass": "SingleNode"
# databricks.yml
bundle:
name: job_with_multiple_wheels
include:
- ./resources/job.yml
workspace:
host: https://myworkspace.cloud.databricks.com
artifacts:
my_custom_wheel1:
type: whl
build: poetry build
path: ./my_custom_wheel1
my_custom_wheel2:
type: whl
build: poetry build
path: ./my_custom_wheel2
targets:
dev:
default: true
mode: development
requirements.txt dosyası kullanan iş
Aşağıdaki örnek yapılandırma, requirements.txt dosyası kullanan bir işi tanımlar.
resources:
jobs:
job_with_requirements_txt:
name: Example job that uses a requirements.txt file
tasks:
- task_key: task
job_cluster_key: default
spark_python_task:
python_file: ../src/main.py
libraries:
- requirements: /Workspace/${workspace.file_path}/requirements.txt
Unity Kataloğu'na JAR dosyası yükleyen paket
Jar dosyaları ve tekerlek dosyaları gibi tüm yapıtların Unity Kataloğu birimlerine yüklenmesi için Unity Kataloğu birimlerini yapıt yolu olarak belirtebilirsiniz. Aşağıdaki örnek paket, Unity Kataloğu'na bir JAR dosyası yükler. Eşleme hakkında artifact_path
bilgi için bkz . artifact_path.
bundle:
name: jar-bundle
workspace:
host: https://myworkspace.cloud.databricks.com
artifact_path: /Volumes/main/default/my_volume
artifacts:
my_java_code:
path: ./sample-java
build: "javac PrintArgs.java && jar cvfm PrintArgs.jar META-INF/MANIFEST.MF PrintArgs.class"
files:
- source: ./sample-java/PrintArgs.jar
resources:
jobs:
jar_job:
name: "Spark Jar Job"
tasks:
- task_key: SparkJarTask
new_cluster:
num_workers: 1
spark_version: "14.3.x-scala2.12"
node_type_id: "i3.xlarge"
spark_jar_task:
main_class_name: PrintArgs
libraries:
- jar: ./sample-java/PrintArgs.jar