Önemli kavramları anlama
Azure Databricks, büyük ölçekte verilerle çalışmayı sağlayan birden çok teknolojiye sahip tek bir hizmet platformudur. Azure Databricks kullanırken anlaşılması gereken bazı temel kavramlar vardır.
Çalışma Alanları
Azure Databricks'teki çalışma alanı , not defterleri, kümeler, işler, kitaplıklar, panolar ve denemeler gibi tüm Databricks varlıklarına erişebildiğiniz ve bunları düzenleyebileceğiniz güvenli, işbirliğine dayalı bir ortamdır.
Azure portalından Çalışma Alanını Başlat seçeneğini seçerek bir Azure Databricks Çalışma Alanı açabilirsiniz.
Kaynakları ve iş akışlarını yönetmek için web tabanlı kullanıcı arabirimi (UI) ve REST API'leri sağlar. Çalışma alanları projeleri, veri işlem hatlarını veya ekip varlıklarını düzenlemek için klasörler halinde yapılandırılabilir ve erişimi denetlemek için farklı düzeylerde izinler uygulanabilir. Veri mühendisleri, analistler ve veri bilimcileri gibi birden çok kullanıcının paylaşılan not defterleri üzerinde birlikte çalışmasına, denemeleri izlemesine ve bağımlılıkları yönetmesine olanak tanıyarak işbirliğini destekler.
Ayrıca, çalışma alanları merkezi veri idaresi için Unity Kataloğu'na (etkinleştirildiğinde) bağlıdır ve kuruluş genelinde verilere güvenli erişim sağlar. Her çalışma alanı, Databricks'in arka planda kullandığı işlem, ağ ve depolama kaynaklarını tutan temel alınan bir Azure kaynak grubuna (yönetilen kaynak grubu dahil) de bağlanır.
Dizüstü bilgisayarlar
Databricks not defterleri , çalıştırılabilir kodu, görselleştirmeleri ve anlatı metnini tek bir ortamda birleştiren etkileşimli, web tabanlı belgelerdir. Python, R, Scala ve SQL gibi birden çok dili destekler ve kullanıcıların sihirli komutları kullanarak aynı not defterindeki diller arasında geçiş yapmasını sağlar. Bu esneklik, not defterlerini keşif veri analizi, veri görselleştirme, makine öğrenmesi denemeleri ve karmaşık veri işlem hatları oluşturmak için uygun hale getirir.
Not defterleri işbirliği için de tasarlanmıştır: birden çok kullanıcı hücreleri aynı anda düzenleyebilir ve çalıştırabilir, açıklamalar ekleyebilir ve içgörüleri gerçek zamanlı olarak paylaşabilir. Databricks kümeleriyle sıkı bir şekilde tümleştirerek kullanıcıların büyük veri kümelerini verimli bir şekilde işlemesini sağlar ve yönetilen veri erişimi için Unity Kataloğu aracılığıyla dış veri kaynaklarına bağlanabilir. Buna ek olarak, not defterleri sürüm denetimi, iş olarak zamanlanabilir veya platform dışında paylaşılması için dışarı aktarılabilir, böylece hem geçici keşif hem de üretim sınıfı iş akışları için merkezi hale getirilebilir.
Not defterleri iki hücre türünden oluşan bir koleksiyon içerir: kod hücreleri ve Markdown hücreleri. Kod hücreleri çalıştırılabilir kod içerir. Markdown hücreleri, metin ve grafik şeklinde işlenen Markdown kodunu içerir. Tek bir hücreyi, bir hücre grubunu veya not defterinin tamamını çalıştırabilirsiniz .
Kümeler
Azure Databricks iki katmanlı mimariden yararlanıyor:
- Denetim Düzlemi: Microsoft tarafından yönetilen bu iç katman, Azure Databricks hesabınıza özgü arka uç hizmetlerini işler.
- İşlem düzlemi: Bu, verileri işleyen ve Azure Aboneliğinizde bulunan dış katmandır.
Kümeler , Azure Databricks'teki temel hesaplama altyapılarıdır. Veri mühendisliği, veri bilimi ve analiz görevlerini çalıştırmak için gereken işleme gücünü sağlar. Her küme, yürütmeyi koordine eden bir sürücü düğümünden ve dağıtılmış hesaplamaları işleyen bir veya daha fazla çalışan düğümünden oluşur. Kümeler sabit kaynaklarla el ile oluşturulabilir veya otomatik ölçeklendirme olarak ayarlanabilir ve Databricks'in iş yükü talebine bağlı olarak çalışan düğümleri eklemesine veya kaldırmasına olanak sağlar. Bu esneklik, verimli kaynak kullanımı ve maliyet denetimi sağlar.
Azure Databricks İşlem, farklı iş yükü türleri için çok çeşitli işlem seçenekleri sunar:
- Sunucusuz işlem: İş yükü gereksinimlerini karşılamak için ölçeği otomatik olarak artırıp azaltan, tam olarak yönetilen, isteğe bağlı işlem. Hızlı başlangıç süreleri, minimum yönetim yükü ve esnek ölçeklendirme isteyen ekipler için idealdir.
- Klasik işlem: VM boyutları, kitaplıklar ve çalışma zamanı sürümleri gibi işlem ayarları üzerinde tam denetim sunan kullanıcı tarafından sağlanan ve yapılandırılmış kümeler. Özelleştirme veya tutarlı performans gerektiren özel iş yükleri için en iyi yöntemdir.
- SQL ambarları: SQL tabanlı analiz ve BI sorguları için iyileştirilmiş işlem kaynakları. SQL ambarları, idare ve performans gereksinimlerine bağlı olarak sunucusuz (elastik, yönetilen) veya klasik (kullanıcı tarafından yapılandırılmış) olarak sağlanabilir.
Bu sayede işlem, not defterlerindeki keşif analizinden büyük ölçekli ETL işlem hatlarına, yüksek performanslı panolara ve raporlamaya kadar belirli gereksinimlere göre uyarlanabilir.
Databricks Çalışma Zamanı
Databricks Runtime, performans iyileştirmeleri ve ek kitaplıklar içeren bir Apache Spark derlemeleri kümesidir. Bu çalışma zamanları makine öğrenmesi, graf işleme ve genomiks gibi görevlerin işlenmesini kolaylaştırırken, genel veri işleme ve analizi desteklemeye devam eder.
Databricks, uzun süreli destek (LTS) sürümleri de dahil olmak üzere birden çok çalışma zamanı sürümü sağlar. Her sürüm, temel alınan Apache Spark sürümünü, yayın tarihini ve desteğin ne zaman sona ereceğini belirtir. Zaman içinde, eski çalışma zamanı sürümleri bir yaşam döngüsünü izler:
- Eski – kullanılabilir ancak artık önerilmez.
- Kullanım dışı – gelecek bir sürümde kaldırılmak üzere işaretlenir.
- Destek Sonu (EoS) – başka yama veya düzeltme sağlanmadı.
- Kullanım Süresi Sonu (EoL) – kullanımdan kaldırıldı ve artık kullanılamıyor.
Kullandığınız bir çalışma zamanı sürümü için bakım güncelleştirmesi yayınlanırsa , kümenizi yeniden başlatarak bunu uygulayabilirsiniz.
Lakeflow İşleri
Lakeflow İşleri , Azure Databricks'te iş akışı otomasyonu ve düzenlemesi sağlayarak veri işleme görevlerini güvenilir bir şekilde zamanlamayı, koordineyi ve çalıştırmayı mümkün hale getirir. Kodu el ile çalıştırmak yerine, ETL işlem hatları, makine öğrenmesi eğitimi veya pano yenilemeleri gibi yinelenen veya üretim sınıfı iş yüklerini otomatikleştirmek için işleri kullanabilirsiniz.
Databricks'te bir iş, temelde bir veya daha fazla görevin kapsayıcısıdır. Görevler, yapılacak işi tanımlar; örneğin, bir not defteri çalıştırma, Spark işi yürütme, dış kod çağırma, ...
İşler farklı yollarla tetiklenebilir:
- Bir zamanlamaya göre (örneğin, her gece yarısı).
- Bir olaya yanıt olarak.
- Gerektiğinde el ile.
Bunlar tekrarlanabilir ve yönetilebilir olduğundan, işler üretim iş yükleri için kritik öneme sahiptir. Veri işlem hatlarının tutarlı bir şekilde çalışmasını, ML modellerinin denetimli bir şekilde eğitilmesini ve dağıtılmasını ve aşağı akış sistemlerinin güncelleştirilmiş, doğru verileri almasını sağlar.
Delta Gölü
Delta Lake , Azure Data Lake Storage gibi bulut nesne depolamasının üzerine işlem özellikleri ekleyerek veri göllerinin güvenilirliğini ve ölçeklenebilirliğini geliştiren bir açık kaynak depolama çerçevesidir. Geleneksel veri gölleri tutarsız veriler, kısmi yazma işlemleri veya eşzamanlı erişimi yönetme güçlükleri gibi sorunlardan muzdarip olabilir. Delta Lake şu sorunları destekleyerek giderir:
- Güvenilir okuma ve yazma işlemleri için ACID işlemleri (bölünmezlik, tutarlılık, yalıtım, dayanıklılık).
- Tabloların performans kaybı olmadan milyarlarca dosyaya kadar büyüyebilmesi için ölçeklenebilir meta veri işleme.
- Veri sürümleme ve geri alma, eski verilere erişimi ve önceki durumların kurtarılmasını sağlar.
- Birleşik toplu ve akış işleme, böylece aynı tablo gerçek zamanlı veri alımı ve geçmiş toplu işlem yüklerini bu şekilde işleyebilir.
Bu temelin üzerinde Delta tabloları , SQL sorgularını veya DataFrame API'sini kullanarak yapılandırılmış verilerle çalışmayı kolaylaştıran tanıdık bir tablo soyutlaması sağlar. Delta tabloları Azure Databricks'te varsayılan tablo biçimidir ve yeni verilerin varsayılan olarak işlem garantileriyle depolanmasını sağlar.
Databricks SQL
Databricks SQL , Databricks Lakehouse'a veri ambarı özellikleri getirerek analistlerin ve iş kullanıcılarının doğrudan veri gölünde açık biçimlerde depolanan verileri sorgulamasına ve görselleştirmesine olanak sağlar. ANSI SQL'i desteklediği için SQL hakkında bilgi sahibi olan herkes yeni diller veya araçlar öğrenmeye gerek kalmadan sorgu çalıştırabilir, raporlar oluşturabilir ve panolar oluşturabilir.
Databricks SQL yalnızca Azure Databricks'in Premium katmanında kullanılabilir. İçerik:
- Sorgu yazmaya ve çalıştırmaya yönelik bir SQL düzenleyicisi .
- İçgörüleri paylaşmak için panolar ve görselleştirme araçları.
- Dış BI ve analiz araçlarıyla tümleştirme.
SQL Ambarları
Tüm Databricks SQL sorguları, depolama alanından ayrılmış ölçeklenebilir işlem kaynakları olan SQL ambarlarında (eski adıYLA SQL uç noktaları) çalışır. Performans, maliyet ve yönetim gereksinimlerine bağlı olarak farklı ambar türleri kullanılabilir:
Sunucusuz SQL Ambarları
- Hızlı başlangıç ve otomatik ölçeklendirme ile hızlı ve esnek işlem.
- Databricks kapasiteyi, güncellemeleri ve optimizasyonu yönettiği için düşük yönetim yükü.
- Maliyet verimliliği, otomatik olarak ölçeklendirme ve bekleyen kaynakların maliyetlerinden kaçınma yoluyla sağlanır.
Pro SQL Depoları
- Daha özelleştirilebilir ancak başlatılması daha yavaş (≈4 dakika).
- Sunucusuz ile karşılaştırıldığında daha az yanıt veren otomatik ölçeklendirme.
- Tutarlı ve öngörülebilir iş yükleri gerektiğinde kullanışlıdır.
Klasik SQL Ambarları
- İşlem kaynakları Databricks'te değil kendi Azure aboneliğinizde çalışır.
- Sunucusuzdan daha az esnektir, ancak belirli idare veya maliyet yönetimi gereksinimleri için tercih edilebilir.
MLflow
MLflow , uçtan uca makine öğrenmesi (ML) yaşam döngüsünü yönetmek için tasarlanmış bir açık kaynak platformdur. Veri bilimcilerinin ve ML mühendislerinin denemeleri izlemesine, modelleri yönetmesine ve modelleri geliştirme aşamasından üretime taşıma sürecini kolaylaştırmalarına yardımcı olur. MLflow, üretken yapay zeka iş akışlarını da destekler ve yapay zeka aracılarını değerlendirmeye ve geliştirmeye yönelik araçlar içerir.