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.
Erőforrástár-kezelés a munkaterület beállításában
Fontos
A munkaterület beállításainál már nem támogatott az erőforrástár-kezelés. A munkaterület-kódtárak és a Spark-tulajdonságok alapértelmezett környezetbe való migrálásával kapcsolatban lásd : Munkaterület-kódtárak és Spark-tulajdonságok migrálása.
A könyvtárkezelés ajánlott eljárásainak összefoglalása
Az alábbi forgatókönyvek az 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:
- Új környezet létrehozása
- A szükséges kódtárak telepítése a környezetben
- A környezet csatolása alapértelmezett munkaterületként
A munkaterület jegyzetfüzetei és Spark-feladatdefiníciói 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 meg szeretné őrizni a kódtár specifikációit, telepítse a kódtárakat egy környezetben, és csatolja a kódelemekhez.
Ennek a megközelítésnek az egyik előnye, hogy megtakarítja a közös kódtárakat igénylő kód futtatását. Miután sikeresen telepítette a környezetet, a kódtárak minden Spark-munkamenetben hatékonyak lesznek, ha a környezet csatlakoztatva van.
Egy másik előnye, hogy a megközelítés támogatja a tár konfigurációjának részletességét a munkaterület szintjénál alacsonyabb szinten. Egy környezet több kódösszetevőhöz is csatolható. Ha egy olyan munkaterületen található jegyzetfüzetek vagy Spark-feladatdefiníciók egy részhalmaza, amely ugyanazokat a kódtárakat igényli, csatolja őket ugyanahhoz a környezethez. A munkaterület rendszergazdája, tagja vagy közreműködője létrehozhatja, szerkesztheti és csatolhatja a környezetet.
3. forgatókönyv: Beágyazott telepítés interaktív futtatáskor
Ha érdekli a nem telepített tárak egyszeri használata egy interaktív jegyzetfüzetben, a beágyazott telepítés a legkényelmesebb megoldás. 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. A tár nem marad fenn a különböző munkamenetekben.
A jegyzetfüzet futtatásához engedéllyel rendelkező felhasználók más kódtárakat is telepíthetnek a Spark-munkamenetben.
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) | Támogatott | Támogatott |
Korsó | Egyéni kódtárként támogatott | Nem támogatott |
Fontos
A .jar kódtárra jelenleg korlátozások vonatkoznak.
- A Scala-felhasználók számára a .jar fájl sikeresen telepíthető egy környezetben, de a Spark-/Scala-munkamenetek esetében nem hatékony. A telepítés felülírja a beépített tárat egy másik tárral. Az új .jar a munkamenetekben működik.
- Python-felhasználók esetében az összes .jar fájl jelenleg nem támogatott egy környezetben. A telepítés sikeres lehet egy környezetben, de a PySpark-munkamenetekben nem hatékonyak.
- A .jar fájlokat a jegyzetfüzet munkamenet szintjén telepítheti.
Beágyazott telepítés
A beágyazott parancsok támogatják a Python-kódtárakat és az R-kódtárakat.
Python beágyazott telepítése
A Python-értelmező újraindul 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.
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.
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.
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
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
Az egyéni Python-kódtárakat feltöltheti a jegyzetfüzethez csatolt lakehouse Fájl mappájába. Nyissa meg a tóházat, válassza a Fájl mappa ... ikonját, és töltse fel az egyéni tárat.
A feltöltés után az alábbi paranccsal telepítse az egyéni tárat a jegyzetfüzet-munkamenetbe.
# install the .whl through pip command
%pip install /lakehouse/default/Files/wheel_file_name.whl
R beágyazott telepítése
Az R-kódtárak kezeléséhez a Fabric támogatja a , remove.packages()
és devtools::
parancsokatinstall.packages()
. 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:
Váltson a munkanyelvre a jegyzetfüzet menüszalagjának SparkR (R) nyelvére.
Telepítse a caesar könyvtárat az alábbi parancs futtatásával egy jegyzetfüzetcellában.
install.packages("caesar")
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.