Takip et

Databricks API’si ile İç Servis Olarak Notebook’lar: dbutils, widgets ve notebook_params

Databricks API’si ile İç Servis Olarak Notebook’lar: dbutils, widgets ve notebook_params

Databricks, büyük veri işleme ve makine öğrenmesi için güçlü bir platform sunar. Databricks’in sunduğu araçlardan biri de Notebook’lardır. Notebook’lar, kod, metin, görsel ve diğer içerikleri bir araya getirerek veri analizi ve model geliştirme süreçlerini kolaylaştıran etkileşimli bir ortamdır. Bu makalede, Databricks Notebook’larını iç servis olarak kullanmak için dbutils API’sini ve ilgili araçları inceleyeceğiz.

dbutils ile Notebook’ları Otomatikleştirme

Databricks, dbutils API’si aracılığıyla Notebook’ları programatik olarak yönetmek için güçlü işlevler sunar. Bu API ile Notebook’ları çalıştırabilir, parametreler geçebilir ve çıktıları alabilirsiniz. Bu sayede Notebook’ları diğer uygulamalarla entegre edebilir ve tekrarlayan görevleri otomatikleştirebilirsiniz.

notebook.run()

dbutils.notebook.run() fonksiyonu, başka bir Notebook’ı belirtilen parametrelerle çalıştırmanıza olanak tanır. Bu fonksiyon, özellikle iş akışı otomasyonunda faydalıdır.

“`python
# Diğer bir Notebook’ı çalıştırma
dbutils.notebook.run(“path/to/notebook”, 60, {“param1”: “value1”, “param2”: “value2”})
“`

Yukarıdaki kodda, “path/to/notebook” adlı Notebook, 60 saniyelik bir zaman aşımıyla çalıştırılır ve “param1” ve “param2” parametreleri ile birlikte iletilir.

widgets.getArgument()

Widgets, Notebook’ları daha interaktif hale getirmek için kullanılabilen arayüz elemanlarıdır. widgets.getArgument() fonksiyonu, kullanıcı tarafından girilmiş widget değerlerini almanıza olanak tanır.

“`python
# Widget’tan değer alma
my_value = dbutils.widgets.getArgument(“my_widget”)
“`

Bu kod, “my_widget” adlı bir widget’ın değerini alır ve “my_value” değişkenine atar.

widgets.text()

widgets.text() fonksiyonu, kullanıcı tarafından girilmiş metin değerlerini almak için bir metin widget’ı oluşturur.

“`python
# Metin widget’ı oluşturma
dbutils.widgets.text(“my_widget”, “Default Value”)
“`

Bu kod, “my_widget” adlı bir metin widget’ı oluşturur ve varsayılan değer olarak “Default Value” değerini atar.

notebook_params ile Parametre Geçme

notebook_params, Notebook’lara parametre geçmek için kullanılan bir sözlük gibidir. Bu parametreler, dbutils.notebook.run() fonksiyonu aracılığıyla başka Notebook’lara iletilebilir.

“`python
# Notebook parametrelerini ayarlama
dbutils.notebook.exit({“param1”: “value1”, “param2”: “value2”})
“`

Yukarıdaki kod, “param1” ve “param2” parametrelerini içeren bir sözlük oluşturur ve Notebook’u sonlandırır. Bu parametreler, başka bir Notebook’ta dbutils.notebook.run() fonksiyonu aracılığıyla alınabilir.

Örnek Senaryo: Veri Hazırlığı ve Model Eğitimi

Aşağıdaki senaryo, Notebook’ları iç servis olarak kullanmanın pratik bir örneğini gösterir.

**Veri Hazırlığı Notebook’u:**

“`python
# Veri Hazırlığı Notebook’u
import pandas as pd

# Widget’tan veri yolu al
data_path = dbutils.widgets.getArgument(“data_path”)

# Verileri yükleme
df = pd.read_csv(data_path)

# Verileri temizleme ve işleme
# …

# Hazırlanmış verileri kaydetme
df.to_csv(“prepared_data.csv”)

# Model Eğitim Notebook’una parametre gönderme
dbutils.notebook.exit({“data_path”: “prepared_data.csv”})
“`

**Model Eğitim Notebook’u:**

“`python
# Model Eğitim Notebook’u
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# Veri Hazırlığı Notebook’undan parametre al
data_path = dbutils.notebook.entry_point.getDbutils().notebook().getContext().notebookParams.get(“data_path”)

# Verileri yükleme
df = pd.read_csv(data_path)

# Verileri eğitim ve test kümelerine ayırma
X = df.drop(“target_variable”, axis=1)
y = df[“target_variable”]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# Model oluşturma ve eğitim
model = LogisticRegression()
model.fit(X_train, y_train)

# Model performansını değerlendirme
# …

# Eğitilmiş modeli kaydetme
# …
“`

Bu senaryoda, Veri Hazırlığı Notebook’u, widget aracılığıyla kullanıcı tarafından girilen veri yolunu alır, verileri işler ve hazırlanmış verileri kaydeder. Ardından, model Eğitim Notebook’una veri yolunu parametre olarak iletir. Model Eğitim Notebook’u ise bu parametreyi kullanarak verileri yükler, modeli eğitir ve sonucu kaydeder.

Faydaları

Notebook’ları iç servis olarak kullanmanın birkaç avantajı vardır:

  • Otomasyon: Tekrarlayan görevleri otomatikleştirerek zaman ve kaynak tasarrufu sağlar.
  • Entegrasyon: Diğer uygulamalarla Notebook’ları entegre ederek iş akışlarını iyileştirir.
  • Paylaşım ve İş Birliği: Notebook’ları ekip üyeleriyle paylaşarak iş birliğini kolaylaştırır.
  • Yönetilebilirlik: Tüm Notebook’ları merkezi bir şekilde yönetebilme imkanı sunar.

Özet

Databricks, dbutils API’si aracılığıyla Notebook’ları iç servis olarak kullanmak için çeşitli araçlar sunar. Bu araçlar, Notebook’ları otomatikleştirmek, parametreler geçirmek ve çıktıları yönetmek için kullanılabilir. Bu sayede, büyük veri işleme ve makine öğrenmesi görevlerini daha verimli ve etkili bir şekilde gerçekleştirebilirsiniz.

Databricks’in sunduğu olanakları keşfetmek için fatihsoysal.com adresindeki blog yazılarımı inceleyebilirsiniz.

# Etiketler
#Databricks #API #Notebook #dbutils #widgets #notebook_params #Otomasyon #Entegrasyon #Paylaşım #İş Birliği #Yönetilebilirlik #Veri Analizi #Makine Öğrenmesi #Python

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version