Zarządzanie bibliotekami pul platformy Apache Spark w usłudze Azure Synapse Analytics
Po zidentyfikowaniu pakietów Scala, Java, R (wersja zapoznawcza) lub Python, których chcesz użyć lub zaktualizować dla aplikacji Spark, możesz zainstalować lub usunąć je w puli platformy Spark. Biblioteki na poziomie puli są dostępne dla wszystkich notesów i zadań uruchomionych w puli.
Istnieją dwa podstawowe sposoby instalowania biblioteki w puli platformy Spark:
- Zainstaluj bibliotekę obszaru roboczego, która została przekazana jako pakiet obszaru roboczego.
- Aby zaktualizować biblioteki języka Python, podaj specyfikację środowiskarequirements.txt lub Conda environment.yml , aby instalować pakiety z repozytoriów, takich jak PyPI, Conda-Forge i nie tylko. Przeczytaj sekcję dotyczącą specyfikacji środowiska , aby uzyskać więcej informacji.
Po zapisaniu zmian zadanie platformy Spark uruchomi instalację i zapisze wynikowe środowisko w pamięci podręcznej w celu późniejszego ponownego użycia. Po zakończeniu zadania nowe zadania platformy Spark lub sesje notesu będą używać zaktualizowanych bibliotek puli.
Ważne
- Jeśli instalowany pakiet jest duży lub trwa długo, ma to wpływ na czas uruchamiania wystąpienia platformy Spark.
- Zmiana wersji PySpark, Python, Scala/Java, .NET, R lub Spark nie jest obsługiwana.
- Instalowanie pakietów z repozytoriów zewnętrznych, takich jak PyPI, Conda-Forge lub domyślne kanały Conda, nie jest obsługiwane w obszarach roboczych z włączoną ochroną przed eksfiltracją danych.
Zarządzanie pakietami z Synapse Studio lub Azure Portal
Biblioteki puli platformy Spark można zarządzać za pomocą Synapse Studio lub Azure Portal.
Aby zaktualizować lub dodać biblioteki do puli platformy Spark:
Przejdź do obszaru roboczego usługi Azure Synapse Analytics z Azure Portal.
W przypadku aktualizowania z Azure Portal:
W sekcji Zasoby usługi Synapse wybierz kartę Pule platformy Apache Spark i wybierz pulę spark z listy.
Wybierz pozycję Pakiety w sekcji Ustawienia puli Platformy Spark.
W przypadku aktualizowania z Synapse Studio:
W przypadku bibliotek kanału informacyjnego języka Python przekaż plik konfiguracji środowiska przy użyciu selektora plików w sekcji Pakiety strony.
Możesz również wybrać dodatkowe pakiety obszarów roboczych , aby dodać pliki Jar, Wheel lub Tar.gz do puli.
Możesz również usunąć przestarzałe pakiety z sekcji Pakiety obszaru roboczego . Pula nie będzie już dołączać tych pakietów.
Po zapisaniu zmian zadanie systemowe zostanie wyzwolone w celu zainstalowania i buforowania określonych bibliotek. Ten proces pomaga skrócić ogólny czas uruchamiania sesji.
Po pomyślnym zakończeniu zadania wszystkie nowe sesje będą odbierać zaktualizowane biblioteki puli.
Ważne
Wybierając opcję Wymuś nowe ustawienia, wszystkie bieżące sesje dla wybranej puli platformy Spark zostaną zakończone. Po zakończeniu sesji trzeba będzie poczekać na ponowne uruchomienie puli.
Jeśli to ustawienie jest niezaznaczone, trzeba będzie poczekać na zakończenie bieżącej sesji platformy Spark lub zatrzymać je ręcznie. Po zakończeniu sesji należy zezwolić na ponowne uruchomienie puli.
Śledzenie postępu instalacji
Zadanie platformy Spark zarezerwowane przez system jest inicjowane za każdym razem, gdy pula jest aktualizowana przy użyciu nowego zestawu bibliotek. To zadanie platformy Spark pomaga monitorować stan instalacji biblioteki. Jeśli instalacja nie powiedzie się z powodu konfliktów bibliotek lub innych problemów, pula platformy Spark powróci do poprzedniego lub domyślnego stanu.
Ponadto użytkownicy mogą również sprawdzać dzienniki instalacji, aby zidentyfikować konflikty zależności lub sprawdzić, które biblioteki zostały zainstalowane podczas aktualizacji puli.
Aby wyświetlić te dzienniki:
- Przejdź do listy Aplikacji platformy Spark na karcie Monitorowanie .
- Wybierz zadanie aplikacji systemu Spark odpowiadające aktualizacji puli. Te zadania systemowe są uruchamiane pod tytułem SystemReservedJob-LibraryManagement .
- Przełącz się, aby wyświetlić dzienniki sterownika i stdout .
- W wynikach zostaną wyświetlone dzienniki związane z instalacją zależności.
Formaty specyfikacji środowiska
requirements.txt PIP
Plik requirements.txt (dane wyjściowe polecenia pip freeze
) może służyć do uaktualniania środowiska. Po zaktualizowaniu puli pakiety wymienione w tym pliku są pobierane z interfejsu PyPI. Pełne zależności są następnie buforowane i zapisywane do późniejszego ponownego użycia puli.
Poniższy fragment kodu przedstawia format pliku wymagań. Nazwa pakietu PyPI jest wyświetlana wraz z dokładną wersją. Ten plik jest zgodny z formatem opisanym w dokumentacji dotyczącej blokowania potoków .
W tym przykładzie jest przypięta określona wersja.
absl-py==0.7.0
adal==1.2.1
alabaster==0.7.10
Format YML
Ponadto można również udostępnić plik environment.yml w celu zaktualizowania środowiska puli. Pakiety wymienione w tym pliku są pobierane z domyślnych kanałów Conda, Conda-Forge i PyPI. Możesz określić inne kanały lub usunąć kanały domyślne przy użyciu opcji konfiguracji.
W tym przykładzie określono kanały i zależności Conda/PyPI.
name: stats2
channels:
- defaults
dependencies:
- bokeh
- numpy
- pip:
- matplotlib
- koalas==1.7.0
Aby uzyskać szczegółowe informacje na temat tworzenia środowiska na podstawie tego pliku environment.yml, zobacz Creating an environment from an environment.yml file (Tworzenie środowiska na podstawie pliku environment.yml).
Następne kroki
- Wyświetlanie bibliotek domyślnych: obsługa wersji platformy Apache Spark
- Rozwiązywanie problemów z błędami instalacji biblioteki: Rozwiązywanie problemów z błędami biblioteki