Sdílet prostřednictvím


Správa knihoven Apache Sparku v Microsoft Fabric

Knihovna je kolekce předem psaného kódu, kterou můžou vývojáři importovat, aby mohli poskytovat funkce. Pomocí knihoven můžete ušetřit čas a úsilí tím, že nemusíte psát kód od začátku a provádět běžné úlohy. Místo toho importujte knihovnu a použijte její funkce a třídy k dosažení požadované funkce. Microsoft Fabric poskytuje několik mechanismů, které vám pomůžou spravovat a používat knihovny.

  • Integrované knihovny: Každý modul runtime Sparku infrastruktury poskytuje bohatou sadu oblíbených předinstalovaných knihoven. Úplný seznam předdefinovaných knihoven najdete v prostředí Fabric Spark Runtime.
  • Veřejné knihovny: Veřejné knihovny jsou zdrojové z úložišť, jako jsou PyPI a Conda, které jsou aktuálně podporované.
  • Vlastní knihovny: Vlastní knihovny odkazují na kód, který vy nebo vaše organizace sestavíte. Prostředky infrastruktury je podporují ve formátech .whl, .jar a .tar.gz . Prostředky infrastruktury podporují .tar.gz pouze pro jazyk R. Pro vlastní knihovny Pythonu použijte formát .whl .

Správa knihovny v nastavení pracovního prostoru

Důležité

Správa knihovny v nastavení pracovního prostoru se už nepodporuje. Pokud chcete migrovat knihovny pracovních prostorů a vlastnosti Sparku do výchozího prostředí, přečtěte si téma Migrace knihoven pracovních prostorů a vlastností Sparku.

Shrnutí osvědčených postupů správy knihoven

Následující scénáře popisují osvědčené postupy.

Scénář 1: Správce nastaví výchozí knihovny pro pracovní prostor

Pokud chcete nastavit výchozí knihovny, musíte být správcem pracovního prostoru. Jako správce můžete provádět tyto úlohy:

  1. Vytvoření nového prostředí
  2. Instalace požadovaných knihoven v prostředí
  3. Připojit toto prostředí jako výchozí pracovní prostor

Poznámkové bloky a definice úloh Sparku v pracovním prostoru jsou připojené k nastavení pracovního prostoru. Spustí relace s knihovnami nainstalovanými ve výchozím prostředí pracovního prostoru.

Scénář 2: Zachování specifikací knihovny pro jednu nebo více položek kódu

Pokud chcete zachovat specifikace knihovny, nainstalujte knihovny v prostředí a připojte je k položkám kódu.

Jednou z výhod tohoto přístupu je, že šetří úsilí o spuštění kódu, který vyžaduje společné knihovny po celou dobu. Po úspěšné instalaci v prostředí jsou knihovny efektivní ve všech relacích Sparku, pokud je prostředí připojené.

Další výhodou je, že přístup podporuje členitost konfigurace knihovny nižší než úroveň pracovního prostoru. Jedno prostředí je možné připojit k více artefaktům kódu. Pokud máte v jednom pracovním prostoru podmnožinu poznámkových bloků nebo definic úloh Sparku, které vyžadují stejné knihovny, připojte je ke stejnému prostředí. Správce, člen nebo přispěvatel pracovního prostoru může prostředí vytvářet, upravovat a připojovat.

Scénář 3: Vložená instalace v interaktivním spuštění

Pokud vás zajímá jednorázové použití v interaktivním poznámkovém bloku knihovny, která není nainstalovaná, je inline instalace nejvhodnější možností. Vložené příkazy v prostředcích infrastruktury umožňují mít knihovnu efektivní v aktuální relaci Sparku poznámkového bloku. Knihovna se neuchovává v různých relacích.

Uživatelé, kteří mají oprávnění ke spuštění poznámkového bloku, mohou do relace Sparku nainstalovat další knihovny.

Souhrn podporovaných typů knihoven

Typ knihovny Správa knihovny prostředí Vložená instalace
Veřejný Python (PyPI a Conda) Podporováno Podporováno
Vlastní Python (.whl) Podporováno Podporováno
Veřejné R (CRAN) Nepodporováno Podporováno
Vlastní R (.tar.gz) Podporováno Podporováno
Sklenice Podporováno jako vlastní knihovna Nepodporováno

Důležité

V současné době platí omezení .jar knihovny.

  • Pro uživatele Scala se soubor .jar může úspěšně nainstalovat v prostředí, ale není efektivní pro relace Spark/Scala. Instalace přepíše integrovanou knihovnu jinou knihovnou. Nové .jar fungují v relacích.
  • Pro uživatele Pythonu se v prostředí v současné době nepodporují všechny soubory .jar . Můžou se úspěšně nainstalovat v prostředí, ale nejsou efektivní v relacích PySpark.
  • Místo toho můžete nainstalovat soubory .jar na úrovni relace poznámkového bloku.

Vložená instalace

Vložené příkazy podporují knihovny Pythonu a knihovny jazyka R.

Vložená instalace Pythonu

Interpret Pythonu se restartuje, aby se použila změna knihoven. Všechny proměnné definované před spuštěním buňky příkazu budou ztraceny. Důrazně doporučujeme umístit všechny příkazy pro přidání, odstranění nebo aktualizaci balíčků Pythonu na začátku poznámkového bloku.

Vložené příkazy pro správu knihoven Pythonu jsou ve výchozím nastavení zakázané ve spuštění kanálu poznámkového bloku. Pokud chcete povolit %pip install kanál, přidejte do parametrů aktivity poznámkového bloku hodnotu _inlineInstallationEnabled jako logický parametr true.

Snímek obrazovky znázorňující konfiguraci povolení instalace pip pro spuštění kanálu poznámkového bloku

Poznámka:

To %pip install může vést k nekonzistentním výsledkům od času. Doporučuje se nainstalovat knihovnu do prostředí a použít ji v kanálu. V referenčních informacích k poznámkovému bloku se vložené příkazy pro správu knihoven Pythonu nepodporují. Chcete-li zajistit správnost provádění, doporučujeme odebrat tyto vložené příkazy z odkazovaného poznámkového bloku.

Doporučujeme %pip místo !pip. !pip je integrovaný příkaz prostředí IPython, který má následující omezení:

  • !pip nainstaluje balíček pouze na uzel ovladače, nikoli na uzly exekutoru.
  • Balíčky, které se instalují prostřednictvím !pip , nemají vliv na konflikty s předdefinovanými balíčky nebo na to, jestli se balíčky už importují do poznámkového bloku.

%pip Tyto scénáře ale zpracovává. Knihovny nainstalované prostřednictvím %pip jsou k dispozici na uzlech ovladače i exekutoru a stále platí i pro knihovnu, která je již importována.

Tip

Instalace %conda install nových knihoven Pythonu %pip install obvykle trvá déle než příkaz. Kontroluje úplné závislosti a řeší konflikty.

Možná budete chtít použít %conda install větší spolehlivost a stabilitu. Můžete použít %pip install , pokud jste si jisti, že knihovna, kterou chcete nainstalovat, není v konfliktu s předinstalovanými knihovnami v prostředí runtime.

Všechny dostupné vložené příkazy a vysvětlení Pythonu najdete v tématu %pip a %conda.

Správa veřejných knihoven Pythonu prostřednictvím vložené instalace

V tomto příkladu se dozvíte, jak používat vložené příkazy ke správě knihoven. Předpokládejme, že chcete k jednorázovému zkoumání dat použít altair, výkonnou knihovnu vizualizací pro Python. Předpokládejme, že knihovna není ve vašem pracovním prostoru nainstalovaná. Následující příklad používá příkazy Conda k ilustraci kroků.

Vložené příkazy můžete použít k povolení altair v relaci poznámkového bloku, aniž by to ovlivnilo jiné relace poznámkového bloku nebo jiných položek.

  1. V buňce kódu poznámkového bloku spusťte následující příkazy. První příkaz nainstaluje knihovnu altair . Nainstalujte také vega_datasets, který obsahuje sémantický model, který můžete použít k vizualizaci.

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

    Výstup buňky označuje výsledek instalace.

  2. Importujte balíček a sémantický model spuštěním následujícího kódu v jiné buňce poznámkového bloku.

    import altair as alt
    from vega_datasets import data
    
  3. Teď si můžete pohrát s knihovnou altair s vymezeným oborem relace.

    # 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()
    

Správa vlastních knihoven Pythonu prostřednictvím vložené instalace

Vlastní knihovny Pythonu můžete nahrát do složky File (Soubor ) lakehouse připojeného k poznámkovému bloku. Přejděte do jezera, vyberte ikonu ... ve složce Soubor a nahrajte vlastní knihovnu.

Po nahrání nainstalujte vlastní knihovnu do relace poznámkového bloku pomocí následujícího příkazu.

# install the .whl through pip command
%pip install /lakehouse/default/Files/wheel_file_name.whl             

Vložená instalace jazyka R

Ke správě knihoven jazyka R podporuje Prostředky infrastruktury a install.packages()remove.packages()devtools:: příkazy . Všechny dostupné vložené příkazy jazyka R a vysvětlení najdete v příkazu install.packages a příkazu remove.package.

Správa veřejných knihoven R prostřednictvím vložené instalace

Postupujte podle tohoto příkladu a projděte si postup instalace veřejné knihovny jazyka R.

Instalace knihovny informačních kanálů R:

  1. Na pásu karet poznámkového bloku přepněte pracovní jazyk na SparkR (R ).

  2. Nainstalujte knihovnu caesar spuštěním následujícího příkazu v buňce poznámkového bloku.

    install.packages("caesar")
    
  3. Teď si můžete pohrát s knihovnou caesar s vymezenou relací pomocí úlohy Sparku.

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

Správa knihoven Jar prostřednictvím vložené instalace

Soubory .jar podporují relace poznámkového bloku pomocí následujícího příkazu.

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

Buňka kódu jako příklad používá úložiště Lakehouse. V Průzkumníku poznámkových bloků můžete zkopírovat úplnou cestu k souboru ABFS a nahradit v kódu. Snímek obrazovky se získáním cesty ABFS