dbt Core'a Bağlan
Not
Bu makale, Azure Databricks çalışma alanlarınızdaki Databricks SQL ambarları ve Azure Databricks kümeleriyle etkileşim kuran yerel geliştirme makinenizin dbt sürümü olan dbt Core'ı kapsar. Bunun yerine dbt'nin barındırılan sürümünü (dbt Cloud olarak adlandırılır) kullanmak veya çalışma alanınızda hızla bir SQL ambarı oluşturmak ve ardından dbt Cloud'a bağlamak için Bağlan bkz. dbt Cloud'a Bağlan.
dbt (veri derleme aracı), veri analistlerinin ve veri mühendislerinin yalnızca seçim deyimleri yazarak verileri dönüştürmesini sağlayan bir geliştirme ortamıdır. dbt, bu seçim deyimlerini tablolara ve görünümlere dönüştürmeyi işler. dbt kodunuzu ham SQL'de derler ve ardından bu kodu Azure Databricks'te belirtilen veritabanında çalıştırır. dbt, işbirliğine dayalı kodlama desenlerini ve sürüm denetimi, belgeler, modülerlik ve daha fazlası gibi en iyi uygulamaları destekler.
dbt verileri ayıklamaz veya yüklemez. dbt, "yüklemeden sonra dönüştürme" mimarisini kullanarak yalnızca dönüştürme adımına odaklanır. dbt, verilerinizin bir kopyasının zaten veritabanınızda olduğunu varsayar.
Bu makalede dbt Core kullanımına odaklanmaktadır. dbt Core, dbt kodunu yerel geliştirme makinenizde istediğiniz metin düzenleyicisine veya IDE'ye yazmanızı ve ardından dbt'yi komut satırından çalıştırmanızı sağlar. dbt Core, dbt Komut Satırı Arabirimi'ni (CLI) içerir. dbt CLI'yi kullanmak ve açık kaynak ücretsizdir.
Dbt'nin dbt Cloud adlı barındırılan bir sürümü de kullanılabilir. dbt Cloud, işleri zamanlama, CI/CD, belge sunumu, izleme ve uyarma ve tümleşik geliştirme ortamı (IDE) için anahtar teslimi destekle donatılmıştır. Daha fazla bilgi için bkz. dbt Cloud'a Bağlan. dbt Bulut Geliştirici planı tek bir ücretsiz geliştirici lisansı sağlar; Team ve Enterprise ücretli planları da mevcuttur. Daha fazla bilgi için dbt web sitesindeki dbt Fiyatlandırması bölümüne bakın.
dbt Core ve dbt Cloud barındırılan git depolarını (örneğin GitHub, GitLab veya BitBucket'te) kullanabileceği için dbt Core kullanarak bir dbt projesi oluşturabilir ve ardından dbt Cloud kullanıcılarınızın kullanımına sunabilirsiniz. Daha fazla bilgi için bkz . Dbt projesi oluşturma ve dbt web sitesinde var olan bir projeyi kullanma.
dbt'ye genel bir genel bakış için aşağıdaki YouTube videosunu izleyin (26 dakika).
Gereksinimler
dbt Core'u yüklemeden önce yerel geliştirme makinenize aşağıdakileri yüklemeniz gerekir:
Ayrıca kimlik doğrulaması için aşağıdakilerden birine de ihtiyacınız vardır:
(Önerilen) dbt Core, hesabınızda OAuth uygulaması olarak etkinleştirildi. Bu varsayılan olarak etkindir.
Kişisel erişim belirteci
Not
Otomatik araçlar, sistemler, betikler ve uygulamalarla kimlik doğrulaması yaparken en iyi güvenlik uygulaması olarak Databricks, OAuth belirteçleri kullanmanızı önerir.
Kişisel erişim belirteci kimlik doğrulaması kullanıyorsanız Databricks, çalışma alanı kullanıcıları yerine hizmet sorumlularına ait kişisel erişim belirteçlerinin kullanılmasını önerir. Hizmet sorumlularına yönelik belirteçler oluşturmak için bkz . Hizmet sorumlusu için belirteçleri yönetme.
1. Adım: Python sanal ortamı oluşturma ve etkinleştirme
Bu adımda, python sanal ortamı oluşturmak için kullanırsınızpipenv
. Diğer ortamlardaki paket sürümlerine ve kod bağımlılıklarına bakılmaksızın paket sürümlerini ve kod bağımlılıklarını bu ortama yalıtan bir Python sanal ortamı kullanmanızı öneririz. Bu, beklenmeyen paket sürümü uyuşmazlıklarını ve kod bağımlılığı çakışmalarını azaltmaya yardımcı olur.
Terminalinizde boş bir dizine geçin ve gerekirse önce bu dizini oluşturun. Bu yordam, kullanıcı giriş dizininizin kökünde adlı
dbt_demo
boş bir dizin oluşturur.Unix, linux, macos
mkdir ~/dbt_demo cd ~/dbt_demo
Windows
mkdir %USERPROFILE%\dbt_demo cd %USERPROFILE%\dbt_demo
Bu boş dizinde, aşağıdaki içeriğe sahip adlı
Pipfile
bir dosya oluşturun. Bu Pipfile , Python sürüm 3.8.6'nın kullanılmasını sağlarpipenv
. Farklı bir sürüm kullanıyorsanız değerini sürüm numaranızla değiştirin3.8.6
.[[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] dbt-databricks = "*" [requires] python_version = "3.8.6"
Not
Yukarıdaki satır
dbt-databricks = "*"
, paketin en son sürümünündbt-databricks
kullanılmasını belirtirpipenv
. Üretim senaryolarında değerini, kullanmak istediğiniz paketin belirli bir sürümüyle değiştirmeniz*
gerekir. Databricks, dbt-databricks paketinin 1.6.0 veya üzeri bir sürümünü önerir. Python Paket Dizini (PyPI) web sitesinde dbt-databricks Yayın geçmişi'ne bakın.Komutunu çalıştırıp
pipenv
kullanılacak Python sürümünü belirterek bu dizinde bir Python sanal ortamı oluşturun. Bu komut Python 3.8.6 sürümünü belirtir. Farklı bir sürüm kullanıyorsanız değerini sürüm numaranızla değiştirin3.8.6
:pipenv --python 3.8.6
seçeneğiyle komutunu çalıştırarak
pipenv
dbt Databricks bağdaştırıcısınıinstall
yükleyin. Bu işlem, pypi'den dbt Databricks bağdaştırıcı paketinidbt-databricks
içeren paketleri sizinkinePipfile
yükler. dbt Databricks bağdaştırıcı paketi otomatik olarak dbt Core ve diğer bağımlılıkları yükler.Önemli
Yerel geliştirme makineniz aşağıdaki işletim sistemlerinden birini kullanıyorsa öncelikle ek adımları tamamlamanız gerekir: CentOS, MacOS, Ubuntu, Debian ve Windows. dbt Labs web sitesine dbt yüklemek için pip kullanma makalesinin "İşletim sistemimin önkoşulları var mı" bölümüne bakın.
pipenv install
komutunu çalıştırarak
pipenv shell
bu sanal ortamı etkinleştirin. Etkinleştirmeyi onaylamak için, terminal istemden önce görüntülenir(dbt_demo)
. Sanal ortam, belirtilen Python sürümünü kullanmaya başlar ve bu yeni ortamdaki tüm paket sürümlerini ve kod bağımlılıklarını yalıtmaktadır.pipenv shell
Not
Bu sanal ortamı devre dışı bırakmak için komutunu çalıştırın
exit
.(dbt_demo)
isteminden önce kaybolur. Bu sanal ortamı devre dışı bırakırsanız veyapip list
çalıştırırsanızpython --version
farklı bir Python sürümü, kullanılabilir paketlerin veya paket sürümlerinin farklı bir listesini ya da her ikisini de görebilirsiniz.seçeneğiyle
--version
çalıştırarak sanal ortamınızın beklenen Python sürümünü çalıştırdığınıpython
onaylayın.python --version
Beklenmeyen bir Python sürümü görüntülüyorsa komutunu çalıştırarak
pipenv shell
sanal ortamınızı etkinleştirdiğinizden emin olun.seçeneğiyle
--version
çalıştırarak sanal ortamınızın dbt ve dbt Databricks bağdaştırıcısının beklenen sürümlerini çalıştırdığınıdbt
onaylayın.dbt --version
dbt veya dbt Databricks bağdaştırıcısının beklenmeyen bir sürümü görüntülüyorsa komutunu çalıştırarak
pipenv shell
sanal ortamınızı etkinleştirdiğinizden emin olun. Beklenmeyen bir sürüm yine de görüntüleniyorsa, sanal ortamınızı etkinleştirdikten sonra dbt veya dbt Databricks bağdaştırıcısını yüklemeyi yeniden deneyin.
2. Adım: Dbt projesi oluşturma ve bağlantı ayarlarını belirtme ve test etme
Bu adımda, dbt'yi kullanmak için gereken ilgili dizinlerden ve dosyalardan oluşan bir koleksiyon olan bir dbt projesi oluşturursunuz. Ardından, Azure Databricks kümesi, SQL ambarı veya her ikisi için bağlantı ayarlarını içeren bağlantı profillerinizi yapılandırabilirsiniz. Güvenliği artırmak için dbt projeleri ve profilleri varsayılan olarak ayrı konumlarda depolanır.
İpucu
Mevcut bir kümeye veya SQL ambarı'na bağlanabilir veya yeni bir tane oluşturabilirsiniz.
- Mevcut bir küme veya SQL ambarı, birden çok dbt projesi için, dbt'yi bir ekipte kullanmak veya geliştirme kullanım örnekleri için verimli olabilir.
- Yeni bir küme veya SQL ambarı, üretim kullanım örnekleri için tek bir dbt projesini yalıtarak çalıştırmanıza ve bu dbt projesi çalışmadığında maliyet tasarrufu sağlamak için otomatik sonlandırmadan yararlanmanıza olanak tanır.
Yeni bir küme veya SQL ambarı oluşturmak için Azure Databricks'i kullanın ve ardından dbt profilinizden yeni oluşturulan veya var olan kümeye ya da SQL ambarı'na başvurun.
Sanal ortam hala etkinken dbt init komutunu projeniz için bir adla çalıştırın. Bu yordam adlı
my_dbt_demo
bir proje oluşturur.dbt init my_dbt_demo
Bir veya
spark
veritabanı seçmenizdatabricks
istendiğinde, öğesine karşılık gelendatabricks
numarayı girin.Bir
host
değer istendiğinde aşağıdakileri yapın:- Bir küme için, Azure Databricks kümenizin Gelişmiş Seçenekler, JDBC/ODBC sekmesinden Sunucu Ana Bilgisayar Adı değerini girin.
- SQL ambarı için SQL ambarınızın Bağlan ion Details sekmesinden Sunucu Ana Bilgisayar adı değerini girin.
Bir
http_path
değer istendiğinde aşağıdakileri yapın:- Bir küme için, Azure Databricks kümenizin Gelişmiş Seçenekler, JDBC/ODBC sekmesinden HTTP Yolu değerini girin.
- SQL ambarı için SQL ambarınızın Bağlan Ion Details sekmesinden HTTP Yolu değerini girin.
Bir kimlik doğrulama türü seçmek için, veya ile
use oauth
karşılık gelen (önerilen)use access token
numarayı girin.Kimlik doğrulama türünü seçtiyseniz
use access token
Azure Databricks kişisel erişim belirtecinizin değerini girin.Not
En iyi güvenlik uygulaması olarak otomatik araçlar, sistemler, betikler ve uygulamalarla kimlik doğrulaması yaptığınızda Databricks, çalışma alanı kullanıcıları yerine hizmet sorumlularına ait kişisel erişim belirteçlerini kullanmanızı önerir. Hizmet sorumlularına yönelik belirteçler oluşturmak için bkz . Hizmet sorumlusu için belirteçleri yönetme.
Değer istendiğinde
desired Unity Catalog option
veya ileuse Unity Catalog
not use Unity Catalog
karşılık gelen sayıyı girin.Unity Kataloğu'nu kullanmayı seçtiyseniz, istendiğinde için
catalog
istenen değeri girin.İstendiğinde ve
threads
içinschema
istenen değerleri girin.dbt, girdilerinizi bir
profiles.yml
dosyaya yazar. Bu dosyanın konumu komutun çıkışındadbt init
listelenir. Bu konumu daha sonra komutunu çalıştırarakdbt debug --config-dir
da listeleyebilirsiniz. İçeriğini incelemek ve doğrulamak için bu dosyayı şimdi açabilirsiniz.Kimlik doğrulama türünü seçtiyseniz
use oauth
makineden makineye (M2M) veya kullanıcıdan makineye (U2M) kimlik doğrulama profilinizi öğesineprofiles.yml
ekleyin.Örnekler için bkz . Microsoft Entra ID ile dbt Core'dan Azure Databricks oturum açmayı yapılandırma.
Databricks, içinde gizli dizilerin
profiles.yml
doğrudan belirtilmesi önerilmez. Bunun yerine, istemci kimliğini ve istemci gizli dizisini ortam değişkenleri olarak ayarlayın.Dizine geçiş yaparak ve komutunu çalıştırarak bağlantı ayrıntılarının
my_dbt_demo
dbt debug
doğru olduğunu onaylayın.Kimlik doğrulama türünü seçtiyseniz
use oauth
kimlik sağlayıcınızla oturum açmanız istenir.Önemli
Başlamadan önce kümenizin veya SQL ambarınızın çalıştığını doğrulayın.
Aşağıdakine benzer bir çıktı görmeniz gerekir:
cd my_dbt_demo dbt debug
... Configuration: profiles.yml file [OK found and valid] dbt_project.yml file [OK found and valid] Required dependencies: - git [OK found] Connection: ... Connection test: OK connection ok
Sonraki adımlar
- Dbt Core modellerini yerel olarak oluşturun, çalıştırın ve test edin. Dbt Core öğreticisine bakın.
- dbt Core projelerini Azure Databricks iş görevleri olarak çalıştırın. Bkz. Azure Databricks işinde dbt dönüşümlerini kullanma.
Ek kaynaklar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin