Python geliştiricileri için Azure Databricks
Bu bölümde, yaygın iş akışları ve görevlere yönelik öğreticiler ve API'lere, kitaplıklara ve araçlara yönelik bağlantılar da dahil olmak üzere Python dilini kullanarak Azure Databricks'te not defterleri ve işler geliştirmeye yönelik bir kılavuz sağlanır.
Başlamak için:
- Kodu içeri aktarma: Dosyalardan veya Git depolarından kendi kodunuzu içeri aktarın veya aşağıda listelenen bir öğreticiyi deneyin. Databricks, etkileşimli Databricks Not Defterlerini kullanarak öğrenmenizi önerir.
- Kodunuzu bir kümede çalıştırma: Kendi kümenizi oluşturun veya paylaşılan küme kullanma izinlerinizin olduğundan emin olun. Not defterinizi kümeye ekleyin ve not defterini çalıştırın.
- Ardından yapabilecekleriniz:
- Apache Spark kullanarak daha büyük veri kümeleriyle çalışma
- Görselleştirme ekleme
- İş yükünüzü iş olarak otomatikleştirme
- Verilerinizi analiz etmek için makine öğrenmesini kullanma
- IDE'lerde geliştirme
Eğitimler
Aşağıdaki öğreticiler, yaygın iş akışları hakkında bilgi edinmek için örnek kod ve not defterleri sağlar. Not defteri örneklerini çalışma alanınıza aktarma yönergeleri için bkz.
Veri mühendisliği
- Öğretici: Apache Spark DataFrames kullanarak verileri yükleme ve dönüştürme, veri hazırlama ve analiz için Apache Spark DataFrames hakkında bilgi edinmenize yardımcı olacak bir kılavuz sağlar.
- Öğretici: Delta Lake.
- Kılavuz: İlk DLT işlem hattınızıçalıştırın.
Veri bilimi ve makine öğrenmesi
- Veri hazırlama ve analiz için Apache Spark DataFrames'i kullanmaya başlama: Öğretici: Apache Spark DataFrames kullanarak verileri yükleme ve dönüştürme
- Öğretici: Azure Databricks'te uçtan uca ML modelleri. Ek örnekler için bkz. Öğreticiler: Yapay zeka ve makine öğrenmesikullanmaya başlama.
- AutoML, kendi veri kümelerinizde makine öğrenmesi modelleri geliştirmeye hızla başlamanıza olanak tanır. Cam kutu yaklaşımı, kopyalayıp değiştirebileceğiniz ve yeniden çalıştırabileceğiniz eksiksiz makine öğrenmesi iş akışına sahip not defterleri oluşturur.
- Unity Kataloğu'nda model yaşam döngüsünü yönetme
- Öğretici: Azure Databricks'te uçtan uca ML modelleri
Python not defterlerinde hata ayıklama
Örnek not defteri, Databricks not defterlerinde Python hata ayıklayıcısının (pdb) nasıl kullanılacağını gösterir. Python hata ayıklayıcısını kullanmak için Databricks Runtime 11.3 LTS veya üzerini çalıştırıyor olmanız gerekir.
Databricks Runtime 12.2 LTS ve üzeri ile, not defteri kullanıcı arabirimindeki Python değişkenlerinin geçerli değerini izlemek için değişken gezginini kullanabilirsiniz. Kesme noktalarında ilerlediğinizde Python değişkenlerinin değerlerini gözlemlemek için değişken gezginini kullanabilirsiniz.
Python hata ayıklayıcısı örnek not defteri
Not
breakpoint()
IPython'da desteklenmez ve bu nedenle Databricks not defterlerinde çalışmaz. yerine import pdb; pdb.set_trace()
kullanabilirsinizbreakpoint()
.
Python API’leri
Databricks dışında çalışan Python kodu genellikle Databricks içinde çalışabilir ve tam tersi de geçerlidir. Mevcut kodunuz varsa, başlamak için bunu Databricks'e aktarmanız gerekir. Ayrıntılar için aşağıdaki Not defterleri ve Databricks Git klasörleriyle kodu yönetme bölümüne bakın.
Databricks hem tek makineli hem de dağıtılmış Python iş yüklerini çalıştırabilir. Tek makineli bilgi işlem için Python API'lerini ve kitaplıklarını her zamanki gibi kullanabilirsiniz; örneğin, pandas ve scikit-learn "yalnızca çalışır". Dağıtılmış Python iş yükleri için Databricks, kullanıma hazır iki popüler API sunar: Spark üzerinde PySpark ve Pandas API.
PySpark API'si
PySpark , Apache Spark için resmi Python API'dir ve Python ile Apache Spark'ın gücünü birleştirir. PySpark, Spark üzerinde Pandas API'sinden daha esnektir ve Spark SQL, Yapılandırılmış Akış, MLLib ve GraphX gibi veri bilimi ve mühendislik işlevleri için kapsamlı destek ve özellikler sağlar.
Spark'ta Pandas API'si
Not
Koalas açık kaynak projesi artık Spark'ta Pandas API'sine geçiş yapmanızı önerir. Spark'ta Pandas API'si Databricks Runtime 10.0 (EoS) ve üzerini çalıştıran kümelerde kullanılabilir. Databricks Runtime 9.1 LTS ve altında çalışan kümeler için bunun yerine Koalas kullanın.
pandas , veri analizi ve işleme için veri bilimciler tarafından yaygın olarak kullanılan bir Python paketidir. Ancak pandas büyük veri ölçeğini genişletmez. Spark'ta Pandas API'si, Apache Spark üzerinde çalışan pandas ile eşdeğer API'ler sağlayarak bu boşluğu doldurur. Bu açık kaynak API , pandas hakkında bilgi sahibi olan ancak Apache Spark kullanmayan veri bilimciler için ideal bir seçimdir.
Not defterleri ve Databricks Git klasörleriyle kodu yönetme
Databricks not defterleri Python'ı destekler. Bu not defterleri Jupyter'ınkine benzer işlevler sağlar, ancak büyük veri kullanan yerleşik görselleştirmeler, hata ayıklama ve performans izleme için Apache Spark tümleştirmeleri ve makine öğrenmesi denemelerini izlemeye yönelik MLflow tümleştirmeleri gibi eklemeler sağlar. bir not defterini
İpucu
Not defterinizin durumunu sıfırlamak için iPython çekirdeğini yeniden başlatın. Jupyter kullanıcıları için Jupyter'deki "çekirdeği yeniden başlat" seçeneği, Databricks'te bir not defterini ayırmaya ve yeniden eklemeye karşılık gelir. Python not defterindeki çekirdeği yeniden başlatmak için, not defteri araç çubuğundaki hesaplama birimi seçicisine tıklayın ve yan menüyü görüntülemek için listedeki ekli kümelerin veya SQL veri ambarının üzerine mouse'u getirin. Ayır ve yeniden bağla'yı seçin. Bu işlem not defterini kümenizden ayırır ve yeniden ekler ve Python işlemini yeniden başlatır.
Databricks Git klasörleri , kullanıcıların not defterlerini ve diğer dosyaları Git depolarıyla eşitlemesine olanak tanır. Databricks Git klasörleri, kod sürümü oluşturma ve işbirliği konusunda yardımcı olur ve kodun tam deposunu Azure Databricks'e aktarmayı, geçmiş not defteri sürümlerini görüntülemeyi ve IDE geliştirmeyle tümleştirmeyi basitleştirebilir. uzak git deposunu kopyalamaya
Kümeler ve kitaplıklar
Azure Databricks işlem , tek düğüm kümelerinden büyük kümelere kadar her boyuttaki kümeler için işlem yönetimi sağlar. Küme donanımlarını ve kitaplıklarını gereksinimlerinize göre özelleştirebilirsiniz. Veri bilimciler genellikle bir küme oluşturarak veya mevcut paylaşılan kümeyi kullanarak çalışmaya başlar. Bir kümeye erişiminiz olduğunda, kümeye bir not defteri ekleyebilir veya kümede bir iş çalıştırabilirsiniz.
- Yalnızca tek düğüm gerektiren küçük iş yükleri için veri bilimciler maliyet tasarrufu için tek düğüm işlem kullanabilir.
- Ayrıntılı ipuçları için bkz . İşlem yapılandırma önerileri
- Yöneticiler, küme oluşturmayı basitleştirmek ve yönlendirmek için
küme ilkeleri ayarlayabilir.
Azure Databricks kümeleri, Apache Spark, Delta Lake, pandas ve daha fazlası dahil olmak üzere birçok popüler kitaplığı hazır sunan Databricks Runtime’ı kullanır. Not defterleri ve işlerle kullanmak için ek üçüncü taraf veya özel Python kitaplıkları da yükleyebilirsiniz.
- Databricks Runtime sürüm notlarındaki sürümler ve uyumluluk'taki varsayılan kitaplıklarla başlayın. Makine öğrenmesi iş yükleri için Databricks Runtime for Machine Learning'i kullanın. Önceden yüklenmiş kitaplıkların tam listeleri için bkz: Databricks Runtime sürüm notları ve uyumluluk.
- Not Defteri kapsamlı Python kitaplıklarını kullanarak ortamınızı özelleştirin. Bu kitaplıklar, not defterinizi veya iş ortamınızı PyPI veya diğer depolardaki kitaplıklarla değiştirmenize olanak tanır.
%pip install my_library
magic komutu,my_library
şu anda bağlı olan kümenizdeki tüm düğümlere yükler, ancak standart erişim moduyla işlemdeki diğer iş yükleriyle çakışmaz. - Python olmayan kitaplıkları gerektiğinde Küme kitaplıkları olarak yükleyin.
- Diğer ayrıntılar için bkz . Kitaplıklar.
Görselleştirmeler
Azure Databricks Python not defterleri, birçok görselleştirme türü için yerleşik desteğe sahiptir. Eski görselleştirmeleri de kullanabilirsiniz.
Ayrıca üçüncü taraf kitaplıkları kullanarak verileri görselleştirebilirsiniz; bazıları Databricks Runtime'a önceden yüklenmiştir, ancak özel kitaplıkları da yükleyebilirsiniz. Popüler seçenekler şunlardır:
İşler
Python iş yüklerini Databricks'te zamanlanmış veya tetiklenen işler olarak otomatikleştirebilirsiniz. İşler not defterlerini, Python betiklerini ve Python wheel dosyalarını çalıştırabilir.
- Databricks kullanıcı arabirimi veya Databricks REST APIkullanarak işleri oluşturun ve güncelleştirin.
- Databricks Python SDK'sı, işleri program aracılığıyla oluşturmanıza, düzenlemenize ve silmenize olanak tanır.
- Databricks CLI, işleri otomatikleştirmek için kullanışlı bir komut satırı arabirimi sağlar.
İpucu
Python betiğini bir not defteri yerine zamanlamak için, iş oluşturma isteğinin gövdesindeki tasks
altındaki spark_python_task
alanını kullanın.
Makine öğrenimi
Databricks, tablosal verilerde geleneksel ML, görüntü işleme ve doğal dil işleme için derin öğrenme, öneri sistemleri, graf analizi ve daha fazlası dahil olmak üzere çok çeşitli makine öğrenmesi (ML) iş yüklerini destekler. Databricks'te makine öğrenmesi hakkında genel bilgi için bkz . Databricks'te yapay zeka ve makine öğrenmesi.
ML algoritmaları için scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib ve XGBoost gibi popüler Python araçlarını içeren Machine Learning için Databricks Runtime'da önceden yüklenmiş kitaplıkları kullanabilirsiniz. Özel kitaplıkları da yükleyebilirsiniz.
Makine öğrenmesi işlemleri (MLOps) için Azure Databricks, açık kaynak kitaplığı MLflow için yönetilen bir hizmet sağlar. MLflow İzleme ile model geliştirmeyi kaydedebilir ve modelleri yeniden kullanılabilir biçimlerde kaydedebilirsiniz. Modellerin üretime yükseltilmesini yönetmek ve otomatikleştirmek için MLflow Model Kayıt Defteri'ni kullanabilirsiniz. İşler ve Model Sunma , modelleri toplu iş ve akış işleri olarak ve REST uç noktaları olarak barındırmaya olanak tanır. Daha fazla bilgi ve örnek için gen AI aracısı ve ML modeli yaşam döngüsü için MLflow veya MLflow Python API belgelerine bakın.
Yaygın makine öğrenmesi iş yüklerini kullanmaya başlamak için aşağıdaki sayfalara bakın:
- MLflow ile scikit-learn ve izleme eğitimi: 10 dakikalık öğretici: scikit-learn ile Databricks'te makine öğrenmesi
- Derin öğrenme modellerini eğitme: Derin öğrenme
- Hiper parametre ayarlama: Hyperopt hiper parametre ayarlamayı paralelleştirme
- Graf analizi: Azure Databricks'te GraphFrame'leri kullanma
IDE'ler, geliştirici araçları ve SDK'lar
Azure Databricks not defterleri içinde Python kodu geliştirmeye ek olarak PyCharm, Jupyter ve Visual Studio Code gibi tümleşik geliştirme ortamlarını (IDE' ler) kullanarak da geliştirebilirsiniz. Dış geliştirme ortamları ile Databricks arasındaki işi eşitlemek için çeşitli seçenekler vardır:
- Kod: Git kullanarak kodu eşitleyebilirsiniz. Bkz Databricks Git klasörleri için Git tümleştirmesi.
- Kitaplıklar ve İşler: Harici olarak kitaplıklar (Python tekerlek dosyaları gibi) oluşturabilir ve bunları Databricks'e yükleyebilirsiniz. Bu kitaplıklar Databricks not defterleri içinde içeri aktarılabilir veya iş oluşturmak için kullanılabilir. Bkz. Kitaplıklar ve Databricks orkestrasyonuna genel bakış.
- Uzaktan makine yürütme: Etkileşimli geliştirme ve test için yerel IDE'nizden kod çalıştırabilirsiniz. IDE, Azure Databricks kümelerinde Apache Spark ve büyük hesaplamalar yürütmek için Azure Databricks ile iletişim kurabilir. Bkz. Databricks Connect.
Databricks, otomasyon ve dış araçlarla tümleştirmeyi destekleyen Python SDKdahil olmak üzere bir dizi SDK sağlar. Databricks SDK'larını kullanarak kümeler ve kitaplıklar, kod ve diğer çalışma alanı nesneleri, iş yükleri ve işler gibi kaynakları yönetebilirsiniz. Bkz. Databricks SDK'ları.
IDE'ler, geliştirici araçları ve SDK'lar hakkında daha fazla bilgi için bkz. Yerel geliştirme araçları.
Ek kaynaklar
- Databricks Academy birçok konuda kendi hızınızda ilerleyebileceğiniz ve eğitmen liderliğinde kurslar sunmaktadır.
- Databricks Labs, Databricks'te pytest eklentisi ve pylint eklentisi gibi Python geliştirme araçları sağlar.
- PySpark ile pandas arasında birlikte çalışabilirliği destekleyen özellikler şunlardır:
- Python ve SQL veritabanı bağlantı araçları şunlardır:
- Python için Databricks SQL Bağlayıcısı, Azure Databricks kaynaklarında SQL komutlarını çalıştırmak için Python kodunu kullanmanıza olanak tanır.
- pyodbc , yerel Python kodunuzdan ODBC aracılığıyla Databricks lakehouse'da depolanan verilere bağlanmanızı sağlar.
- Python iş yüklerini Databricks'e taşıma hakkında SSS ve ipuçları Databricks Bilgi Bankası'nda bulunabilir