Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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:
- Databricks yardımcı programları pencere öğeleri
- SQL adlandırılmış parametre söz dizimi
- Dinamik değerler referansları
- Kod argümanları
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 scriptPython WheelJARSpark 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. |