işler için dbt görevi
Dbt projelerini Azure Databricks'te yapılandırmak ve çalıştırmak için dbt görevini kullanın.
Önemli
Dbt görevleri çalıştırıldığında Databricks, FarklıDBT_ACCESS_TOKEN
sorumlu için öğesini ekler.
Dbt görevini yapılandırma
Aşağıdakileri yaparak İşler kullanıcı arabirimindeki dbt
sekmesinden bir görev ekleyin:
Tür açılan menüsünde öğesini seçin
dbt
.Kaynak açılan menüsünde, Uzak Git deposunda bulunan bir proje için Azure Databricks çalışma alanı klasöründe veya Git sağlayıcısında bulunan bir dbt projesini kullanmak için Çalışma Alanı'nı seçebilirsiniz.
Çalışma Alanı'nı seçerseniz, project dizinini seçmek için sağlanan dosya gezginini kullanın.
Git sağlayıcısı'nı seçerseniz, proje deposunun Git bilgilerini girmek için Düzenle'ye tıklayın. Bkz . Git'i işlerle kullanma.
Projeniz deponun kök dizininde değilse, project dizini alanını kullanarak yolunu belirtin.
dbt komutları metin kutuları varsayılan olarak dbt deps, dbt seed ve dbt run komutlarıdır. Sağlanan komutlar sıralı olarak çalışır. bu alanları iş akışınız için gerektiği şekilde ekleyin, kaldırın veya düzenleyin. Bkz. dbt komutları nedir?.
SQL ambarında, dbt tarafından oluşturulan SQL'i çalıştırmak için bir SQL ambarı seçin. SQL ambarı açılan menüsünde yalnızca sunucusuz ve profesyonel SQL ambarları gösterilir.
Bir Ambar kataloğu belirtin. Ayar kaldırılırsa, çalışma alanı varsayılanı kullanılır.
Bir Ambar şeması belirtin. Varsayılan olarak şema
default
kullanılır.dbt Core'u çalıştırmak için dbt CLI işlemini seçin. Databricks, tek düğümlü kümeyle yapılandırılmış işler veya klasik işler için sunucusuz işlem kullanılmasını önerir.
Görev için bir
dbt-databricks
sürüm belirtin.İşlem kullanıyorsanız
Serverless
, yeni bir ortam seçmek, düzenlemek veya eklemek için Ortam ve Kitaplıklar alanını kullanın. Bkz . Not defteri bağımlılıklarını yükleme.Diğer tüm işlem yapılandırmaları için, Bağımlı kitaplıklar alanı varsayılan olarak'a
dbt-databricks>=1.0.0,<2.0.0
doldurulur. Bir sürümü sabitlemek için bu ayarı silin ve + PyPi kitaplığı ekleyin.Not
Databricks, geliştirme ve üretim çalıştırmalarında aynı sürümün kullanıldığından emin olmak için dbt görevlerinizi dbt-databricks paketinin belirli bir sürümüne sabitlemenizi önerir. Databricks, dbt-databricks paketinin 1.6.0 veya üzeri bir sürümünü önerir.
Görev oluştur'a tıklayın.
dbt komutları nelerdir?
dbt komutları alanı, dbt komut satırı arabirimini (CLI) kullanarak çalıştırılacak komutları belirtmenize olanak tanır. dbt CLI ile ilgili tüm ayrıntılar için dbt belgelerine bakın.
Belirtilen dbt sürümü tarafından desteklenen komutlar için dbt belgelerine bakın.
Dbt komutlarına seçenekleri geçirme
dbt düğümü seçimi söz dizimi, belirli bir çalıştırmaya dahil olacak veya hariç tutulacak kaynakları belirtmenize olanak tanır. ve gibi run
komutlar ve build
--select
dahil olmak üzere --exclude
bayrakları kabul eder.
Tam bir açıklama için dbt söz dizimine genel bakış belgelerine bakın.
Ek yapılandırma bayrakları dbt'nin projenizi nasıl çalıştır çalıştığını denetler. Kullanılabilir bayrakların listesi için resmi dbt belgelerindeki Komut satırı seçenekleri sütununa bakın.
Bazı bayraklar konumsal bağımsız değişkenler alır. Bayraklar için bazı bağımsız değişkenler dizelerdir. Örnekler ve açıklamalar için dbt belgelerine bakın.
Değişkenleri dbt komutlarına geçirme
dbt komutları alanlarındaki --vars
komutlara statik veya dinamik değerler geçirmek için bayrağını kullanın.
Tek tırnakla ayrılmış bir JSON'yi öğesine --vars
geçirirsiniz. Aşağıdaki örnekte olduğu gibi, JSON'daki tüm anahtarların ve değerlerin iki tırnak ayrılmış olması gerekir:
dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'
Parametreli dbt komutları örnekleri
dbt ile çalışırken görev değerlerine, iş parametrelerine ve dinamik iş parametrelerine başvurabilirsiniz. Değerler, komut çalışmadan önce dbt komutları alanına düz metin olarak değiştirilir. Görevler arasında değer geçirme veya iş meta verilerine başvurma hakkında bilgi için bkz . İşleri parametreleştirme.
Bu örneklerde aşağıdaki iş parametrelerinin yapılandırıldığı varsayılır:
Parametre adı | Parametre değeri |
---|---|
volume_path |
/Volumes/path/to/data |
table_name |
my_table |
select_clause |
--select "tag:nightly" |
dbt_refresh |
--full-refresh |
Aşağıdaki örneklerde bu parametrelere başvurmanın geçerli yolları gösterilmektedir:
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}
Aşağıdaki örneklerde olduğu gibi dinamik parametrelere ve görev değerlerine de başvurabilirsiniz:
dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'