Megosztás a következőn keresztül:


Apache Spark-kódtárak kezelése a Microsoft Fabricben

A kódtárak olyan előre írt kódgyűjtemények, amelyeket a fejlesztők importálhatnak a funkciók biztosításához. A kódtárak használatával időt és energiát takaríthat meg azzal, hogy nem kell nulláról írnia a kódot a gyakori feladatok elvégzéséhez. Ehelyett importálja a kódtárat, és használja annak funkcióit és osztályait a kívánt funkciók eléréséhez. A Microsoft Fabric több mechanizmussal segíti a kódtárak kezelését és használatát.

  • Beépített kódtárak: Minden Fabric Spark-futtatókörnyezet számos népszerű előre telepített kódtárat biztosít. A teljes beépített kódtárlista megtalálható a Fabric Spark Runtime-ban.
  • Nyilvános kódtárak: A nyilvános kódtárak olyan adattárakból származnak, mint a PyPI és a Conda, amelyek jelenleg támogatottak.
  • Egyéni kódtárak: Az egyéni kódtárak az Ön vagy a szervezet által buildelt kódra vonatkoznak. A Fabric .whl, .jar és .tar.gz formátumban támogatja őket. A Fabric csak az R nyelvhez támogatja a .tar.gz . Egyéni Python-kódtárak esetén használja a .whl formátumot.

A könyvtárkezelés ajánlott eljárásainak összefoglalása

Az alábbi forgatókönyvek a Kódtárak Microsoft Fabricben való használatakor ajánlott eljárásokat ismertetik.

1. forgatókönyv: A rendszergazda beállítja a munkaterület alapértelmezett kódtárait

Az alapértelmezett kódtárak beállításához a munkaterület rendszergazdájának kell lennie. Rendszergazdaként a következő feladatokat hajthatja végre:

  1. Új környezet létrehozása
  2. A szükséges kódtárak telepítése a környezetben
  3. A környezet csatolása alapértelmezett munkaterületként

Amikor a jegyzetfüzetek és a Spark-feladatdefiníciók a Munkaterület beállításaihoz vannak csatolva, a munkameneteket a munkaterület alapértelmezett környezetében telepített kódtárakkal indítják el.

2. forgatókönyv: Egy vagy több kódelem kódtár-specifikációinak megőrzése

Ha a különböző kódelemekhez közös kódtárak tartoznak, és nem igényelnek gyakori frissítést, telepítse a kódtárakat egy környezetben, és csatolja a kódelemekhez.

A környezetekben lévő kódtárak közzétételkor eltarthatnak egy ideig. Általában 5–15 percet vesz igénybe, a kódtárak összetettségétől függően. A folyamat során a rendszer segít megoldani a lehetséges ütközéseket, és letölti a szükséges függőségeket.

Ennek a módszernek az egyik előnye, hogy a sikeresen telepített könyvtárak garantáltan elérhetők lesznek, amikor a Spark-munkamenet a környezettel indul. Ezzel megtakaríthatja a projektek közös kódtárainak karbantartását.

Kifejezetten ajánlott a stabilitással rendelkező folyamatforgatókönyvekhez.

3. forgatókönyv: Beágyazott telepítés interaktív futtatáskor

Ha a jegyzetfüzeteket interaktív kódírásra használja, akkor ajánlott a beágyazott telepítéssel további új PyPI-/conda-kódtárakat hozzáadni, vagy egyéni kódtárakat ellenőrizni az egyszeri használatra. A Háló beágyazott parancsai lehetővé teszik, hogy a kódtár érvényes legyen az aktuális jegyzetfüzet Spark-munkamenetében. Lehetővé teszi a gyors telepítést, de a telepített tár nem marad fenn a különböző munkamenetekben.

Mivel %pip install időről időre különböző függőségi fákat hoz létre, amelyek kódtárütközésekhez vezethetnek, a beágyazott parancsok alapértelmezés szerint ki vannak kapcsolva a folyamatfuttatásokban, és NEM ajánlott a folyamatokban használni.

A támogatott kódtártípusok összegzése

Kódtár típusa Környezeti kódtár kezelése Beágyazott telepítés
Python nyilvános (PyPI > Conda) Támogatott Támogatott
Python Custom (.whl) Támogatott Támogatott
R Nyilvános (CRAN) Nem támogatott Támogatott
Egyéni R (.tar.gz) Egyéni kódtárként támogatott Támogatott
Korsó Egyéni kódtárként támogatott Támogatott

Beágyazott telepítés

A beágyazott parancsok támogatják a tárak kezelését az egyes jegyzetfüzet-munkamenetekben.

Python beágyazott telepítése

A rendszer újraindítja a Python-értelmezőt a kódtárak módosításának alkalmazásához. A parancscella futtatása előtt definiált változók elvesznek. Határozottan javasoljuk, hogy a jegyzetfüzet elején helyezze el a Python-csomagok hozzáadására, törlésére vagy frissítésére szolgáló összes parancsot.

A Python-kódtárak kezelésére szolgáló beágyazott parancsok alapértelmezés szerint le vannak tiltva a jegyzetfüzet-folyamatban. Ha engedélyezni %pip install szeretné a folyamatot, adja hozzá a "_inlineInstallationEnabled" értéket, mivel a bool paraméter értéke True (Igaz) a jegyzetfüzet tevékenységparamétereiben.

Képernyőkép a pipek notebook-folyamat futtatásához való engedélyezésének konfigurációjáról.

Feljegyzés

Ez %pip install időről időre inkonzisztens eredményekhez vezethet. Javasoljuk, hogy telepítse a kódtárat egy környezetben, és használja azt a folyamatban. A jegyzetfüzet-referenciafuttatásokban a Python-kódtárak kezelésére szolgáló beágyazott parancsok nem támogatottak. A végrehajtás helyességének biztosítása érdekében javasoljuk, hogy távolítsa el ezeket a beágyazott parancsokat a hivatkozott jegyzetfüzetből.

Javasoljuk ahelyett, hogy %pip!pip. !pip egy beépített IPython-parancs, amely a következő korlátozásokkal rendelkezik:

  • !pip csak az illesztőprogram-csomópontra telepíti a csomagot, a végrehajtó csomópontokra nem.
  • Az áttelepített !pip csomagok nem befolyásolják a beépített csomagokkal való ütközéseket, illetve azt, hogy a csomagok már importálva vannak-e egy jegyzetfüzetbe.

Ezeket a %pip forgatókönyveket azonban kezeli. Az áttelepített %pip kódtárak az illesztőprogramok és a végrehajtó csomópontokon is elérhetők, és még a tár importálása is hatékony.

Tipp.

A %conda install parancs általában hosszabb időt vesz igénybe, mint az %pip install új Python-kódtárak telepítése. Ellenőrzi a teljes függőségeket, és feloldja az ütközéseket.

Érdemes lehet nagyobb megbízhatóságot és stabilitást használni %conda install . Akkor használhatja %pip install , ha biztos benne, hogy a telepíteni kívánt tár nem ütközik az előre telepített kódtárakkal a futtatókörnyezetben.

Az összes elérhető Python-beágyazott parancsot és pontosítást lásd: %pip parancsok és %conda parancsok.

Python nyilvános kódtárak kezelése beágyazott telepítéssel

Ebben a példában megtudhatja, hogyan használhat beágyazott parancsokat a kódtárak kezeléséhez. Tegyük fel, hogy az Altairt, a Python hatékony vizualizációs kódtárát szeretné használni egy egyszeri adatfeltáráshoz. Tegyük fel, hogy a tár nincs telepítve a munkaterületen. Az alábbi példa conda-parancsokkal szemlélteti a lépéseket.

Beágyazott parancsokkal engedélyezheti az Altairt a jegyzetfüzet-munkamenetben anélkül, hogy ez hatással van a jegyzetfüzet más munkameneteire vagy más elemekre.

  1. Futtassa a következő parancsokat egy jegyzetfüzet kódcellájában. Az első parancs telepíti az altair könyvtárat. Telepítse a vega_datasets is, amely egy vizualizációhoz használható szemantikai modellt tartalmaz.

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

    A cella kimenete a telepítés eredményét jelzi.

  2. Importálja a csomagot és a szemantikai modellt úgy, hogy az alábbi kódot egy másik jegyzetfüzetcellában futtatja.

    import altair as alt
    from vega_datasets import data
    
  3. Most már játszhat a munkamenet-hatókörű Altair-kódtárral .

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

Egyéni Python-kódtárak kezelése beágyazott telepítéssel

Egyéni Python-kódtárait feltöltheti a jegyzetfüzet vagy a csatolt környezet erőforrásmappájába. Az erőforrások mappái az egyes jegyzetfüzetek és környezetek által biztosított beépített fájlrendszerek. További részletekért tekintse meg a Jegyzetfüzet erőforrásait . A feltöltés után áthúzhatja az egyéni tárat egy kódcellába, és automatikusan létrejön a kódtár telepítéséhez szükséges beágyazott parancs. A telepítéshez használhatja a következő parancsot is.

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

R beágyazott telepítése

Az R-kódtárak kezeléséhez a Fabric támogatja a , install.packages()és remove.packages() parancsokatdevtools::. Az összes elérhető R beágyazott parancsot és pontosítást lásd: install.packages parancs és remove.package parancs.

R nyilvános kódtárak kezelése beágyazott telepítéssel

Kövesse ezt a példát az R nyilvános kódtár telepítésének lépéseinek végigjárásához.

R-hírcsatorna-kódtár telepítése:

  1. Váltson a munkanyelvre a jegyzetfüzet menüszalagjának SparkR (R) nyelvére.

  2. Telepítse a caesar könyvtárat az alábbi parancs futtatásával egy jegyzetfüzetcellában.

    install.packages("caesar")
    
  3. Most egy Spark-feladattal játszhat a munkamenet-hatókörű caesar-kódtárral .

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

Jar-kódtárak kezelése beágyazott telepítéssel

A .jar fájlok a következő paranccsal támogatottak a jegyzetfüzet-munkamenetekben.

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

A kódcella a Lakehouse-tárolót használja példaként. A jegyzetfüzet-kezelőben másolhatja a teljes fájl ABFS-elérési útját, és lecserélheti a kódot. Képernyőkép a menüparancsokról az ABFS elérési útjának lekéréséhez.