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:
- Ú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
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.
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
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:
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.