Aracılığıyla paylaş


Python geliştiricileri için Azure Databricks

Bu bölüm, Python dilini kullanarak Azure Databricks'te not defterleri ve işler geliştirmeye yönelik bir kılavuz sağlar. İlk alt bölüm, yaygın iş akışları ve görevler için öğreticilere bağlantılar sağlar. İkinci alt bölüm API'lere, kitaplıklara ve anahtar araçlarına bağlantılar sağlar.

Kullanmaya başlamak için temel bir iş akışı:

Öğreticiler

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. Not defterini içeri aktarma.

Etkileşimli veri bilimi ve makine öğrenmesi

Veri mühendisliği

Üretim makine öğrenmesi ve makine öğrenmesi işlemleri

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 defterini alma

Not

breakpoint()IPython'da desteklenmez ve bu nedenle Databricks not defterlerinde çalışmaz. yerine breakpoint()kullanabilirsinizimport pdb; pdb.set_trace().

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. Not defterini içeri aktararak başlayın. Bir kümeye erişiminiz olduğunda, kümeye bir not defteri ekleyebilir ve not defterini çalıştırabilirsiniz.

İpucu

Not defterinizin durumunu tamamen sıfırlamak için iPython çekirdeğini yeniden başlatmak yararlı olabilir. 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ğunda işlem seçiciye tıklayın ve yan menüyü görüntülemek için listedeki ekli kümenin veya SQL ambarı'nın üzerine gelin. Ayır ve yeniden ekle'yi 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 kopyalayarak başlayın. Daha sonra depo kopyasıyla not defterlerini açabilir veya oluşturabilir, not defterini bir kümeye ekleyebilir ve not defterini çalıştırabilirsiniz.

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 kullanıma açık birçok popüler kitaplık sağlayan 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ı sürümleri ve uyumluluğundaki varsayılan kitaplıklarla başlayın. Makine öğrenmesi iş yükleri için Machine Learning için Databricks Runtime'ı kullanın. Önceden yüklenmiş kitaplıkların tam listeleri için bkz . Databricks Runtime sürüm notları sürümleri ve uyumluluğu.
  • 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 Sihirli komut, şu anda bağlı olan kümenizdeki tüm düğümlere my_library yüklenir, ancak paylaşılan kümelerdeki diğer iş yükleriyle çakışmaz.
  • Python olmayan kitaplıkları gerektiği gibi 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 tekerlek dosyalarını çalıştırabilir.

  • Kullanıcı arabirimi aracılığıyla iş oluşturma hakkında ayrıntılı bilgi için bkz . Databricks İşleri'ni yapılandırma ve düzenleme.
  • Databricks SDK'ları 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

Not defteri yerine Python betiği zamanlamak için, bir iş oluşturma isteğinin gövdesinde altındaki alanını tasks kullanınspark_python_task.

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 bkz . MLflow kullanarak ML yaşam döngüsü yönetimi veya MLflow Python API belgeleri.

Yaygın makine öğrenmesi iş yüklerini kullanmaya başlamak için aşağıdaki sayfalara bakın:

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 İş akışlarını zamanlama ve düzenleme.
  • 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, dış araçlarla otomasyon ve tümleştirmeyi destekleyen 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. Geliştirici araçları ve yönergeler.

Ek kaynaklar