Udostępnij za pośrednictwem


Zarządzanie bibliotekami platformy Apache Spark w usłudze Microsoft Fabric

Biblioteka to kolekcja wstępnie napisanego kodu, który deweloperzy mogą importować w celu zapewnienia funkcjonalności. Korzystając z bibliotek, możesz zaoszczędzić czas i nakład pracy, nie trzeba pisać kodu od podstaw w celu wykonywania typowych zadań. Zamiast tego zaimportuj bibliotekę i użyj jej funkcji i klas, aby osiągnąć żądane funkcje. Usługa Microsoft Fabric udostępnia wiele mechanizmów, które ułatwiają zarządzanie bibliotekami i korzystanie z nich.

  • Wbudowane biblioteki: każde środowisko uruchomieniowe platformy Spark sieci szkieletowej udostępnia bogaty zestaw popularnych wstępnie zainstalowanych bibliotek. Pełną listę wbudowanych bibliotek można znaleźć w środowisku Fabric Spark Runtime.
  • Biblioteki publiczne: biblioteki publiczne pochodzą z repozytoriów, takich jak PyPI i Conda, które są obecnie obsługiwane.
  • Biblioteki niestandardowe: biblioteki niestandardowe odwołują się do kodu utworzonego przez Ciebie lub Organizację. Sieć szkieletowa obsługuje je w formatach .whl, .jar i .tar.gz . Sieć szkieletowa obsługuje .tar.gz tylko dla języka R. W przypadku bibliotek niestandardowych języka Python użyj formatu .whl .

Podsumowanie najlepszych rozwiązań dotyczących zarządzania bibliotekami

W poniższych scenariuszach opisano najlepsze rozwiązania dotyczące korzystania z bibliotek w usłudze Microsoft Fabric.

Scenariusz 1. Administrator ustawia domyślne biblioteki dla obszaru roboczego

Aby ustawić biblioteki domyślne, musisz być administratorem obszaru roboczego. Jako administrator możesz wykonywać następujące zadania:

  1. Utwórz nowe środowisko
  2. Instalowanie wymaganych bibliotek w środowisku
  3. Dołączanie tego środowiska jako domyślnego obszaru roboczego

Gdy notesy i definicje zadań platformy Spark są dołączone do ustawień obszaru roboczego, rozpoczynają sesje z bibliotekami zainstalowanymi w domyślnym środowisku obszaru roboczego.

Scenariusz 2. Utrwalanie specyfikacji biblioteki dla jednego lub wielu elementów kodu

Jeśli masz wspólne biblioteki dla różnych elementów kodu i nie wymagają częstej aktualizacji, zainstaluj biblioteki w środowisku i dołącz je do elementów kodu jest dobrym wyborem.

Opublikowanie bibliotek w środowiskach stanie się skuteczne. Zwykle trwa to 5–15 minut, w zależności od złożoności bibliotek. Podczas tego procesu system pomoże rozwiązać potencjalne konflikty i pobrać wymagane zależności.

Jedną z zalet tego podejścia jest to, że pomyślnie zainstalowane biblioteki są gwarantowane, aby były dostępne po rozpoczęciu sesji platformy Spark z dołączonym środowiskiem. Pozwala zaoszczędzić nakład pracy na utrzymywaniu wspólnych bibliotek dla projektów.

Zdecydowanie zaleca się używanie scenariuszy potoków ze stabilnością.

Scenariusz 3. Instalacja śródliniowa w interakcyjnym przebiegu

Jeśli używasz notesów do interaktywnego pisania kodu, użycie instalacji wbudowanej w celu dodania dodatkowych nowych bibliotek PyPI/conda lub zweryfikowanie bibliotek niestandardowych w celu jednorazowego użycia jest najlepszym rozwiązaniem. Wbudowane polecenia w usłudze Fabric umożliwiają efektywne korzystanie z biblioteki w bieżącej sesji platformy Spark notesu. Umożliwia szybką instalację, ale zainstalowana biblioteka nie jest utrwalana w różnych sesjach.

Ponieważ %pip install generowanie różnych drzew zależności od czasu do czasu, co może prowadzić do konfliktów biblioteki, polecenia wbudowane są domyślnie wyłączone w uruchomieniach potoków i NIE zaleca się ich użycia w potokach.

Podsumowanie obsługiwanych typów bibliotek

Typ biblioteki Zarządzanie biblioteką środowisk Instalacja śródliniowa
Publiczny język Python (PyPI i Conda) Obsługiwane Obsługiwane
Python Custom (.whl) Obsługiwane Obsługiwane
R Public (CRAN) Nieobsługiwane Obsługiwane
Niestandardowy język R (.tar.gz) Obsługiwana jako biblioteka niestandardowa Obsługiwane
Słoik Obsługiwana jako biblioteka niestandardowa Obsługiwane

Instalacja śródliniowa

Polecenia wbudowane obsługują zarządzanie bibliotekami w każdej sesji notesu.

Instalacja śródliniowa języka Python

System ponownie uruchamia interpreter języka Python, aby zastosować zmianę bibliotek. Wszystkie zmienne zdefiniowane przed uruchomieniem komórki poleceń zostaną utracone. Zdecydowanie zalecamy umieszczenie wszystkich poleceń do dodawania, usuwania lub aktualizowania pakietów języka Python na początku notesu.

Polecenia wbudowane do zarządzania bibliotekami języka Python są domyślnie wyłączone w potoku notesu. Jeśli chcesz włączyć %pip install dla potoku, dodaj parametr "_inlineInstallationEnabled", ponieważ parametr logiczny ma wartość True w parametrach działania notesu.

Zrzut ekranu przedstawiający konfigurację włączania instalacji potoku dla uruchomienia potoku notesu.

Uwaga

Może %pip install to prowadzić do niespójnych wyników od czasu do czasu. Zaleca się zainstalowanie biblioteki w środowisku i użycie jej w potoku. W uruchomieniach odwołań do notesu polecenia wbudowane do zarządzania bibliotekami języka Python nie są obsługiwane. Aby zapewnić poprawność wykonywania, zaleca się usunięcie tych wbudowanych poleceń z przywołytowanego notesu.

Zalecamy %pip zamiast !pip. !pip to wbudowane polecenie powłoki IPython, które ma następujące ograniczenia:

  • !pip Instaluje tylko pakiet w węźle sterownika, a nie węzłów funkcji wykonawczej.
  • Pakiety instalowane za pomocą !pip programu nie mają wpływu na konflikty z wbudowanymi pakietami lub czy pakiety są już importowane w notesie.

%pip Obsługuje jednak te scenariusze. Biblioteki zainstalowane za pomocą %pip programu są dostępne zarówno w węzłach sterownika, jak i funkcji wykonawczej, a nawet biblioteka jest już importowana.

Napiwek

Polecenie %conda install zwykle trwa dłużej niż %pip install polecenie, aby zainstalować nowe biblioteki języka Python. Sprawdza pełne zależności i rozwiązuje konflikty.

Możesz chcieć użyć %conda install w celu zwiększenia niezawodności i stabilności. Jeśli masz pewność %pip install , że biblioteka, którą chcesz zainstalować, nie powoduje konfliktu ze wstępnie zainstalowanymi bibliotekami w środowisku uruchomieniowym.

Aby uzyskać wszystkie dostępne polecenia i wyjaśnienia języka Python, zobacz %polecenia i polecenia %conda.

Zarządzanie bibliotekami publicznymi języka Python za pomocą instalacji wbudowanej

W tym przykładzie zobacz, jak zarządzać bibliotekami za pomocą poleceń wbudowanych. Załóżmy, że chcesz użyć altair, zaawansowanej biblioteki wizualizacji dla języka Python na potrzeby jednorazowej eksploracji danych. Załóżmy, że biblioteka nie jest zainstalowana w obszarze roboczym. W poniższym przykładzie użyto poleceń conda, aby zilustrować kroki.

Możesz użyć wbudowanych poleceń, aby włączyć altair w sesji notesu bez wpływu na inne sesje notesu lub innych elementów.

  1. Uruchom następujące polecenia w komórce kodu notesu. Pierwsze polecenie instaluje bibliotekę altair . Ponadto zainstaluj vega_datasets, która zawiera semantyczny model, którego można użyć do wizualizacji.

    %conda install altair          # install latest version through conda command
    %conda install vega_datasets   # install latest version through conda command
    

    Dane wyjściowe komórki wskazują wynik instalacji.

  2. Zaimportuj pakiet i model semantyczny, uruchamiając następujący kod w innej komórce notesu.

    import altair as alt
    from vega_datasets import data
    
  3. Teraz możesz grać z biblioteką altair o zakresie sesji.

    # load a simple dataset as a pandas DataFrame
    cars = data.cars()
    alt.Chart(cars).mark_point().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin',
    ).interactive()
    

Zarządzanie bibliotekami niestandardowymi języka Python za pomocą instalacji wbudowanej

Biblioteki niestandardowe języka Python można przekazać do folderu resources notesu lub dołączonego środowiska. Foldery zasobów są wbudowanym systemem plików udostępnianym przez każdy notes i środowiska. Aby uzyskać więcej informacji, zobacz Zasoby notesu. Po przekazaniu możesz przeciągać i upuszczać bibliotekę niestandardową do komórki kodu— wbudowane polecenie służące do automatycznego instalowania biblioteki. Możesz też użyć następującego polecenia do zainstalowania.

# install the .whl through pip command from the notebook built-in folder
%pip install "builtin/wheel_file_name.whl"             

Instalacja śródliniowa języka R

Aby zarządzać bibliotekami języka R, usługa Fabric obsługuje install.packages()polecenia , remove.packages()i devtools:: . Aby uzyskać wszystkie dostępne polecenia wbudowane języka R i wyjaśnienia, zobacz polecenie install.packages i polecenie remove.package.

Zarządzanie bibliotekami publicznymi języka R za pośrednictwem instalacji wbudowanej

Postępuj zgodnie z tym przykładem, aby zapoznać się z krokami instalowania publicznej biblioteki języka R.

Aby zainstalować bibliotekę kanału informacyjnego języka R:

  1. Przełącz język roboczy na platformę SparkR (R) na wstążce notesu.

  2. Zainstaluj bibliotekę caesar , uruchamiając następujące polecenie w komórce notesu.

    install.packages("caesar")
    
  3. Teraz możesz obejść się z biblioteką cezarów w zakresie sesji za pomocą zadania spark.

    library(SparkR)
    sparkR.session()
    
    hello <- function(x) {
    library(caesar)
    caesar(x)
    }
    spark.lapply(c("hello world", "good morning", "good evening"), hello)
    

Zarządzanie bibliotekami Jar za pomocą instalacji wbudowanej

Pliki .jar są obsługiwane podczas sesji notesu za pomocą następującego polecenia.

%%configure -f
{
    "conf": {
        "spark.jars": "abfss://<<Lakehouse prefix>>.dfs.fabric.microsoft.com/<<path to JAR file>>/<<JAR file name>>.jar",
    }
}        

Komórka kodu używa magazynu usługi Lakehouse jako przykładu. W Eksploratorze notesów możesz skopiować pełną ścieżkę ABFS pliku i zastąpić go w kodzie. Zrzut ekranu przedstawiający pobieranie ścieżki ABFS.