Görevden parametre değerlerine erişme

Azure Databricks not defterleri, Python betikleri ve SQL dosyaları gibi görevlerinizdeki koddan parametre değerlerine erişin.

Parametreler kullanıcı tanımlı parametreleri, yukarı akış görevlerinden alınan değerleri ve iş tarafından oluşturulan meta veri değerlerini içerir. Bkz. İşleri parametreleştirme.

Ayrıntılar görev türüne göre farklılık gösterse de kaynak koddan parametre değerlerine başvurmak için kullanılan dört yaygın yöntem vardır:

Bu durumların her birinde, değerini almak için parametrenin anahtarına başvurursunuz. Anahtar bazen parametrenin adı olarak adlandırılır.

SQL görevi ve For each görevi kullanan metadata odaklı bir işe uygulanan bu teknikleri görmek için bkz. For each işini yönlendirmek için kontrol tablosu kullanma.

Kod defterinde dbutils kullanın

Bir görevde çalışan not defteri kodu , dbutils kitaplığıyla parametrelerin değerlerine erişebilir. Aşağıdaki örnekte, not defteri görevine geçirilen bir dbutils görev parametresinin değerini almak için Python year_param nasıl kullanılacağı gösterilmektedir.

# Retrieve a job-level parameter
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

Parametrelere isimlerine göre erişim sağlanır. bir iş parametresi ve görev parametresi bir anahtarı paylaşıyorsa, iş parametresi önceliklidir. Bkz. İş parametresi indirme.

Parametreler tek başına not defterine gönderilmediğinden, yukarıdaki kod tek başına bir not defterinde çalıştırıldığında bir hata oluşturur ve işin parçası değildir. Parametresi için year_param aşağıdaki kodla varsayılan değeri ayarlayabilirsiniz:

# Set a default (for when not running in a job)
dbutils.widgets.text("year_param", "2012", "Year Parameter")

# Retrieve a job-level parameter (will use default if it doesn't exist)
year_value = dbutils.widgets.get("year_param")

# Use the value in your code
display(babynames.filter(babynames.Year == year_value))

Bu, bir işin dışında test için yararlı olsa da, yanlış yapılandırılmış görevi veya iş parametrelerini de maskeler.

SQL'de adlandırılmış parametreleri kullanma

Sql'i bir not defterinde veya işlem hattı görevinde çalıştırırken, görev parametrelerini almak için adlandırılmış parametre söz dizimini kullanabilirsiniz. Örneğin, year_param adlı bir görev parametresini almak için sorgunuzda :year_param kullanarak değerini elde edebilirsiniz:

SELECT *
FROM baby_names_prepared
WHERE Year_Of_Birth = :year_param
GROUP BY First_Name

Kod argümanlarına erişim olarak

Bazı görev türleri için parametreler koda bağımsız değişken olarak geçirilir. Aşağıdaki görev türlerine geçirilen bağımsız değişkenler vardır:

  • Python script
  • Python Wheel
  • JAR
  • Spark Submit

Ayrıntılar için bu sayfanın devamında yer alan Görev türüne göre ayrıntılar bölümüne bakın.

dbt görevler için, parametreler, görevinizdeki dbt komutları çağrılarak geçirilir.

Görevi yapılandırırken dinamik değer başvurularını kullanma

Azure Databricks kullanıcı arabiriminde bir görev yapılandırırken, iş parametrelerini veya diğer dinamik değerleri almak için dinamik değer başvuru söz dizimini kullanın. İş parametrelerini almak için söz dizimini kullanın: {{job.parameters.<name>}}. Örneğin, bir Python wheel görevi yapılandırırken, bir parametrenin Key ve Value girişlerini year_paramyear / gibi Year_{{job.parameters.year_param}} adlı bir İş parametresine başvurmak için ayarlayabilirsiniz. Yapılandırmadaki parametrelere erişim sağlamanın yanı sıra, dinamik değerler işiniz veya göreviniz hakkındaki diğer verilere (örneğin, {{job.id}}) erişmenizi de sağlar. Görev yapılandırmasına tıklayarak {} olası dinamik değerlerin listesini alabilir ve bunları yapılandırmanıza ekleyebilirsiniz.

Görev türüne göre ayrıntılar

Bu yöntemlerden hangisini kullandığınız görev türüne bağlıdır.

Görev türü Yapılandırmada al Kodda getir
Dizüstü Not defterini yapılandırmak için Azure Databricks kullanıcı arabirimindeki dinamik değer başvurularını kullanabilirsiniz (örneğin, görev parametresi değerlerindeki iş parametrelerine başvurmak için). Farklı ayarlarla bir işi çalıştır seçeneğini kullanarak bir görevi el ile çalıştırdığınızda geçersiz kılabilir veya ek parametreler ekleyebilirsiniz. Not defterinizde veya dbutils.widgets kodunuzda SQL için adlandırılmış parametreler kullanabilirsiniz.
Python betiği Görevde tanımlanan parametreler betiğinize argüman olarak aktarılır. Parametreler metin kutusunda dinamik değer başvuruları kullanabilirsiniz. Parametreler konumsal bağımsız değişkenler olarak okunabilir veya Python argparse modülü kullanılarak ayrıştırılabilir.
Python tekerlek Görev tanımında tanımlanan parametreler, kodunuza anahtar kelime argümanları olarak geçirilir. Python wheel dosyalarınız anahtar kelime argümanlarını kabul edecek şekilde yapılandırılmalıdır. Parametrelerinizin değerlerinde dinamik değer başvuruları kullanabilirsiniz. Betiğinize anahtar sözcük bağımsız değişkenleri olarak erişin. Python wheel dosyasında paketlenmiş bir Python betiğindeki bağımsız değişkenleri okuma örneğini görmek için bkz. Lakeflow Jobs'ta Python wheel dosyası kullanma.
SQL Görev yapılandırmanızda dinamik değer başvurularını kullanabilirsiniz. Parametre değerlerini almak için adlandırılmış parametreleri kullanın.
İşlem hattı (parametreler Beta sürümündedir) Görevinizi yapılandırırken Parametreler metin kutusunda parametreleri bağımsız değişken olarak geçirmek için dinamik değer başvurularını kullanabilirsiniz. Parametre değerlerini almak için adlandırılmış parametreleri kullanın.
Kokpit Görevdeki Pano filtrelerini yapılandırarak filtre değerlerini önceden uygulayabilirsiniz. Bir filtrenin URL Tanımlayıcısı iş düzeyi parametre anahtarıyla eşleşiyorsa, görev bu parametrenin değerini filtreye otomatik olarak uygular. Uygulanamaz.
Power BI Power BI görevler, göreve parametre geçirmeyi desteklemez. Desteklenmiyor.
dbt Görevinizi yapılandırırken parametreleri dbt komutları olarak geçirmek için dinamik değer referanslarını kullanabilirsiniz. dbt komut olarak erişim.
KAVANOZ Görevinizi yapılandırırken Parametreler metin kutusunda parametreleri bağımsız değişken olarak geçirmek için dinamik değer başvurularını kullanabilirsiniz. Parametrelere, ana sınıfın ana metoduna argüman olarak ulaşılır.
Spark Gönderme Görevinizi yapılandırırken Parametreler metin kutusunda parametreleri bağımsız değişken olarak geçirmek için dinamik değer başvurularını kullanabilirsiniz. Parametrelere, ana sınıfın ana metoduna bağımsız değişken olarak erişilir.
Görevi Başlat Görevinizi yapılandırırken bir İş Parametreleri dizisi oluşturmak için dinamik değer başvurularını kullanabilirsiniz. Değerler dinamik değer başvuruları içerebilir. Uygulanamaz.
If/else koşulu Görevinizi yapılandırırken, örneğin Koşul'da dinamik değer başvuruları kullanabilirsiniz. Uygulanamaz.
Her bir Göreviniz için Girişleri yapılandırırken dinamik değer başvurularını kullanabilirsiniz. İç içe görevin her yinelemesi için, iç içe görev bir giriş verisini görev parametresi olarak alır. İç içe yerleştirilmiş görevler, görev türüne göre parametreleri alır.
Temiz oda not defteri Not defterini yapılandırmak için Azure Databricks kullanıcı arabirimindeki dinamik değer başvurularını kullanabilirsiniz (örneğin, görev parametresi değerlerindeki iş parametrelerine başvurmak için). Not defterinizde veya dbutils.widgets kodunuzda SQL için adlandırılmış parametreler kullanabilirsiniz.