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.
Görev değerleri , Databricks işi içindeki görevler arasında rastgele değerler geçirmenize olanak tanıyan Databricks Yardımcı Programları taskValues alt yardımcı programlarına başvurur. Bkz . taskValues alt yardımcı programı (dbutils.jobs.taskValues).
Bir görevde kullanarak dbutils.jobs.taskValues.set() bir anahtar-değer çifti belirtirsiniz ve ardından sonraki görevlerdeki değere başvurmak için görev adını ve anahtarı kullanabilirsiniz.
Not
dbutils.jobs.taskValues.set() alt yardımcı programlarındaki dbutils.jobs.taskValues.get() ve dbutils.jobs.taskValues Python işlevleri olduğundan, bunlar yalnızca Python'ın dil olarak seçili olduğu not defterlerinde kullanılabilir. Ancak, parametreleri destekleyen tüm görevler için dinamik değer başvurularını kullanarak görev değerlerine başvurabilirsiniz. Bkz. Referans görev değerleri.
Görev değerlerini ayarlama
kullanarak dbutils.jobs.taskValues.set()Python not defterlerinde görev değerlerini ayarlayın.
Görev değeri anahtarları dize olmalıdır. Not defterinde tanımlanmış birden çok görev değeriniz varsa her anahtar benzersiz olmalıdır.
Görev değerlerini anahtarlara el ile veya program aracılığıyla atayabilirsiniz. Yalnızca geçerli JSON olarak ifade edilebilen değerlere izin verilir. Değerin JSON gösteriminin boyutu 48 KiB'ı aşamaz.
Örneğin, aşağıdaki örnek anahtarı fave_foodiçin statik bir dize ayarlar:
dbutils.jobs.taskValues.set(key = "fave_food", value = "beans")
Aşağıdaki örnek, belirli bir sipariş numarasının tüm kayıtlarını sorgulamak ve geçerli sipariş durumunu ve toplam kayıt sayısını döndürmek için bir not defteri görev parametresi kullanır:
from pyspark.sql.functions import col
order_num = dbutils.widgets.get("order_num")
query = (spark.read.table("orders")
.orderBy(col("updated"), ascending=False)
.select(col("order_status"))
.where(col("order_num") == order_num)
)
dbutils.jobs.taskValues.set(key = "record_count", value = query.count())
dbutils.jobs.taskValues.set(key = "order_status", value = query.take(1)[0][0])
Bu deseni kullanarak değer listelerini geçirebilir ve sonra bunları her görev için olduğu gibi aşağı akış mantığını koordine etmek için kullanabilirsiniz. Bkz. Başka bir görevi döngüde çalıştırmak için bir For each görev kullanma.
Aşağıdaki örnek, ürün kimliği için ayrı değerleri python listesine ayıklar ve bunu bir görev değeri olarak ayarlar:
prod_list = list(spark.read.table("products").select("prod_id").distinct().toPandas()["prod_id"])
dbutils.jobs.taskValues.set(key = "prod_list", value = prod_list)
Referans görev değerleri
Databricks, görev değerlerine dinamik değer başvuru deseni {{tasks.<task_name>.values.<value_name>}}kullanılarak yapılandırılan görev parametreleri olarak başvurmayı önerir.
Örneğin, adı prod_list olan bir görevde product_inventory anahtarına sahip görev değerine başvurmak için {{tasks.product_inventory.values.prod_list}} söz dizimini kullanın.
Bkz. Görev parametrelerini yapılandırma ve Dinamik değer referansları.
dbutils.jobs.taskValues.get komutunu kullanma
dbutils.jobs.taskValues.get() söz dizimi, üst akış görev adının belirtilmesini gerektirir. Görev değerlerini birden çok aşağı akış görevinde kullanabileceğiniz için bu söz dizimi önerilmez; bu da bir görev adı değişirse çok sayıda güncelleştirmenin gerekli olduğu anlamına gelir.
Bu söz dizimini kullanarak isteğe bağlı olarak bir default değeri ve bir debugValue belirtebilirsiniz. Anahtar bulunamazsa varsayılan değer kullanılır. , debugValue not defterini görev olarak zamanlamadan önce not defterlerinde el ile kod geliştirme ve test sırasında kullanılacak statik bir değer ayarlamanıza olanak tanır.
Aşağıdaki örnek, görev adı order_status içinde ayarlanan order_lookup anahtarının değerini alır. Değer Delivered yalnızca not defterini etkileşimli olarak çalıştırırken döndürülür.
order_status = dbutils.jobs.taskValues.get(taskKey = "order_lookup", key = "order_status", debugValue = "Delivered")
Not
Databricks, eksik anahtarlar veya yanlış adlandırılmış görevler nedeniyle beklenen hata iletilerinin sorunlarını gidermek ve önlemek zor olabileceği için varsayılan değerlerin ayarlanmasını önermez.
Görev değerlerini görüntüleme
Her çalıştırma için bir görev değerinin döndürülen değeri, Görev çalıştırması ayrıntılarınınÇıkış bölmesinde görüntülenir. Bkz. Görev çalıştırma geçmişini görüntüleme.