Azure Synapse Analytics'te Apache Spark havuzları için kitaplıkları yönetme
Spark uygulamanız için kullanmak veya güncelleştirmek istediğiniz Scala, Java, R (Önizleme) veya Python paketlerini tanımladıktan sonra bunları bir Spark havuzuna yükleyebilir veya kaldırabilirsiniz. Havuz düzeyindeki kitaplıklar, havuzda çalışan tüm not defterleri ve işler tarafından kullanılabilir.
Spark havuzuna kitaplık yüklemenin başlıca iki yolu vardır:
- Çalışma alanı paketi olarak yüklenmiş bir çalışma alanı kitaplığı yükleyin.
- Python kitaplıklarını güncelleştirmek için, PyPI, Conda-Forge ve daha fazlası gibi depolardan paketleri yüklemek için bir requirements.txt veya Conda environment.yml ortam belirtimi sağlayın. Daha fazla bilgi için ortam belirtimi hakkındaki bölümü okuyun.
Değişiklikler kaydedildikten sonra Spark işi yüklemeyi çalıştırır ve sonuçta elde edilen ortamı daha sonra yeniden kullanmak üzere önbelleğe alır. İş tamamlandıktan sonra yeni Spark işleri veya not defteri oturumları güncelleştirilmiş havuz kitaplıklarını kullanır.
Önemli
- Yüklediğiniz paket büyükse veya yüklenmesi uzun sürüyorsa bu, Spark örneğinin başlangıç süresini etkiler.
- PySpark, Python, Scala/Java, .NET, R veya Spark sürümünün değiştirilmesi desteklenmez.
- PyPI, Conda-Forge veya varsayılan Conda kanalları gibi dış depolardan paketlerin yüklenmesi, veri sızdırma koruması etkin çalışma alanlarında desteklenmez.
Synapse Studio veya Azure portal gelen paketleri yönetme
Spark havuzu kitaplıkları Synapse Studio veya Azure portal yönetilebilir.
Spark havuzuna kitaplıkları güncelleştirmek veya eklemek için:
Azure portal Azure Synapse Analytics çalışma alanınıza gidin.
Azure portal güncelleştiriyorsanız:
Synapse kaynakları bölümünde Apache Spark havuzları sekmesini seçin ve listeden bir Spark havuzu seçin.
Synapse Studio güncelleştiriyorsanız:
Python akış kitaplıkları için, sayfanın Paketler bölümündeki dosya seçiciyi kullanarak ortam yapılandırma dosyasını karşıya yükleyin.
Jar, Wheel veya Tar.gz dosyalarını havuzunuza eklemek için ek çalışma alanı paketleri de seçebilirsiniz.
Kullanım dışı bırakılan paketleri Çalışma Alanı paketleri bölümünden de kaldırabilirsiniz, havuzunuz artık bu paketleri eklemez.
Değişikliklerinizi kaydettikten sonra, belirtilen kitaplıkları yüklemek ve önbelleğe almak için bir sistem işi tetiklenir. Bu işlem, genel oturum başlatma süresini azaltmaya yardımcı olur.
İş başarıyla tamamlandıktan sonra, tüm yeni oturumlar güncelleştirilmiş havuz kitaplıklarını alır.
Önemli
Yeni ayarları zorla seçeneğini belirleyerek seçili Spark havuzu için tüm geçerli oturumları sonlandıracaksınız. Oturumlar sona erdikten sonra havuzun yeniden başlatılmasını beklemeniz gerekir.
Bu ayarın işareti kaldırılırsa geçerli Spark oturumunun bitmesini beklemeniz veya el ile durdurmanız gerekir. Oturum sona erdikten sonra havuzun yeniden başlatılmasına izin vermeniz gerekir.
Yükleme ilerleme durumunu izleme
Bir havuz yeni bir kitaplık kümesiyle her güncelleştirildiğinde sistem ayrılmış Spark işi başlatılır. Bu Spark işi kitaplık yüklemesinin durumunu izlemeye yardımcı olur. Kitaplık çakışmaları veya diğer sorunlar nedeniyle yükleme başarısız olursa Spark havuzu önceki veya varsayılan durumuna geri döner.
Ayrıca kullanıcılar, bağımlılık çakışmalarını belirlemek veya havuz güncelleştirmesi sırasında hangi kitaplıkların yüklendiğini görmek için yükleme günlüklerini inceleyebilir.
Bu günlükleri görüntülemek için:
- İzleyici sekmesinde Spark uygulamaları listesine gidin.
- Havuz güncelleştirmenize karşılık gelen sistem Spark uygulaması işini seçin. Bu sistem işleri SystemReservedJob-LibraryManagement başlığı altında çalışır.
- Sürücü ve stdout günlüklerini görüntülemek için geçiş yapın.
- Sonuçlarda, bağımlılıklarınızın yüklenmesiyle ilgili günlükleri görürsünüz.
Ortam belirtimi biçimleri
PIP requirements.txt
Ortamı yükseltmek için birrequirements.txt dosyası (komutundan pip freeze
çıktı) kullanılabilir. Bir havuz güncelleştirildiğinde, bu dosyada listelenen paketler PyPI'dan indirilir. Ardından tam bağımlılıklar önbelleğe alınır ve havuzun daha sonra yeniden kullanılması için kaydedilir.
Aşağıdaki kod parçacığı gereksinimler dosyasının biçimini gösterir. PyPI paket adı tam sürümle birlikte listelenir. Bu dosya pip freeze başvuru belgelerinde açıklanan biçimi izler.
Bu örnek belirli bir sürümü sabitler.
absl-py==0.7.0
adal==1.2.1
alabaster==0.7.10
YML biçimi
Ayrıca, havuz ortamını güncelleştirmek için bir environment.yml dosyası da sağlayabilirsiniz. Bu dosyada listelenen paketler varsayılan Conda kanallarından, Conda-Forge'dan ve PyPI'dan indirilir. Yapılandırma seçeneklerini kullanarak diğer kanalları belirtebilir veya varsayılan kanalları kaldırabilirsiniz.
Bu örnek kanalları ve Conda/PyPI bağımlılıklarını belirtir.
name: stats2
channels:
- defaults
dependencies:
- bokeh
- numpy
- pip:
- matplotlib
- koalas==1.7.0
Bu environment.yml dosyasından ortam oluşturma hakkında ayrıntılı bilgi için bkz. Environment.yml dosyasından ortam oluşturma.
Sonraki adımlar
- Varsayılan kitaplıkları görüntüleme: Apache Spark sürüm desteği
- Kitaplık yükleme hatalarını giderme: Kitaplık hatalarını giderme