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:

  1. 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.

    • Spark havuzunun Ayarlar bölümünden Paketler'i seçin. Ortam yapılandırma dosyasını karşıya yükle düğmesini vurgulayan ekran görüntüsü.

    Synapse Studio güncelleştiriyorsanız:

    • Ana gezinti panelinde Yönet'i ve ardından Apache Spark havuzları'nı seçin.

    • Belirli bir Spark havuzu için Paketler bölümünü seçin. Kitaplık yükleme günlüklerini vurgulayan ekran görüntüsü.

  2. 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.

  3. Jar, Wheel veya Tar.gz dosyalarını havuzunuza eklemek için ek çalışma alanı paketleri de seçebilirsiniz.

  4. Kullanım dışı bırakılan paketleri Çalışma Alanı paketleri bölümünden de kaldırabilirsiniz, havuzunuz artık bu paketleri eklemez.

  5. 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.

  6. İş 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:

  1. İzleyici sekmesinde Spark uygulamaları listesine gidin.
  2. 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. Sistem ayrılmış kitaplık işini vurgulayan ekran görüntüsü.
  3. Sürücü ve stdout günlüklerini görüntülemek için geçiş yapın.
  4. Sonuçlarda, bağımlılıklarınızın yüklenmesiyle ilgili günlükleri görürsünüz. Sistem ayrılmış kitaplık işi sonuçlarını vurgulayan ekran görüntüsü.

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