Azure Databricks Python-fejlesztőknek
Ez a szakasz útmutatást nyújt a jegyzetfüzetek és feladatok Azure Databricksben a Python nyelv használatával történő fejlesztéséhez, beleértve a gyakori munkafolyamatokhoz és feladatokhoz kapcsolódó oktatóanyagokat, valamint api-kra, tárakra és eszközökre mutató hivatkozásokat.
Első lépések:
- Kód importálása: Importálja a saját kódját a fájlokból vagy a Git-adattárakból, vagy próbálkozzon az alábbi oktatóanyagokkal. A Databricks interaktív Databricks-jegyzetfüzetek használatát javasolja.
- Futtassa a kódot egy klaszteren: Hozzon létre egy saját klasztert, vagy győződjön meg róla, hogy van engedélye egy megosztott klaszter használatára. Csatolja a jegyzetfüzetet a fürthöz, és futtassa a jegyzetfüzetet.
- Ezután a következőt teheti:
- Nagyobb adatkészletek használata az Apache Spark használatával
- Vizualizációk hozzáadása
- A számítási feladat automatizálása feladatként
- Gépi tanulás használata az adatok elemzéséhez
- Fejlesztés IDE-kben
Oktatóanyagok
Az alábbi oktatóanyagok példakódot és jegyzetfüzeteket nyújtanak a gyakori munkafolyamatok megismeréséhez. A jegyzetfüzetek a munkaterületre való importálásával kapcsolatos útmutatásért lásd : Jegyzetfüzet importálása.
Adatfeldolgozás
- Oktatóanyag: Adatok betöltése és átalakítása az Apache Spark DataFrames használatával – útmutató az Apache Spark DataFrame-ekről az adatok előkészítéséhez és elemzéséhez.
- Oktatóanyag: Delta Lake.
- Oktatóanyag: Futtassa az első DLT-folyamatot.
Adatelemzés és gépi tanulás
- Az Apache Spark DataFrames használatának első lépései az adatok előkészítéséhez és elemzéséhez: Oktatóanyag: Adatok betöltése és átalakítása Az Apache Spark DataFrame-ek használatával
- Oktatóanyag: Teljes körű ml-modellek az Azure Databricksben. További példákért tekintse meg oktatóanyagokat: Ismerkedés az AI-val és a gépi tanulással.
- AutoML lehetővé teszi a gépi tanulási modellek saját adatkészleteken való gyors fejlesztését. Üvegdobozos megközelítése a teljes gépi tanulási munkafolyamattal hozza létre a jegyzetfüzeteket, amelyeket klónozhat, módosíthat és újrafuttathat.
- Modell életciklusának kezelése a Unity Catalog
- Oktatóanyag: Teljes körű ML-modellek az Azure Databricksben
Hibakeresés Python-jegyzetfüzetekben
A példajegyzetfüzet bemutatja, hogyan használható a Python hibakereső (pdb) a Databricks-jegyzetfüzetekben. A Python hibakereső használatához a Databricks Runtime 11.3 LTS vagy újabb verzióját kell futtatnia.
A Databricks Runtime 12.2 LTS és újabb verzióival a változókezelővel nyomon követheti a Python-változók aktuális értékét a jegyzetfüzet felhasználói felületén. A változókezelővel megfigyelheti a Python-változók értékeit a töréspontokon való lépés során.
Python hibakereső példajegyzetfüzet
Feljegyzés
breakpoint()
az IPython nem támogatja, ezért nem működik a Databricks-jegyzetfüzetekben.
import pdb; pdb.set_trace()
Használhatja ahelyett, hogy breakpoint()
.
Python API-k
A Databricksen kívül futó Python-kód általában a Databricksben futtatható, és fordítva. Ha már rendelkezik kóddal, csak importálja a Databricksbe az első lépésekhez. Részletekért lásd: Kód kezelése jegyzetfüzetekkel és Databricks Git-mappákkal .
A Databricks egygépes és elosztott Python-számítási feladatokat is futtathat. Az egygépes számítástechnikához a szokásos módon használhat Python API-kat és kódtárakat; A pandas és a scikit-learn például "csak működik". Elosztott Python-számítási feladatok esetén a Databricks két népszerű API-t kínál a dobozból: a PySparkot és a Pandas API-t a Sparkon.
PySpark API
A PySpark az Apache Spark hivatalos Python API-ja, amely egyesíti a Python és az Apache Spark erejét. A PySpark rugalmasabb, mint a Sparkon futó Pandas API, és széles körű támogatást és funkciókat biztosít az olyan adatelemzési és mérnöki funkciókhoz, mint a Spark SQL, a Strukturált streamelés, az MLLib és a GraphX.
Pandas API a Sparkban
Feljegyzés
A koalasi nyílt forráskódú projekt most azt javasolja, hogy váltson a Pandas API-ra a Sparkon. A Sparkon futó Pandas API a Databricks Runtime 10.0 -t (EoS) és újabb verziót futtató fürtökön érhető el. Azoknál a fürtöknél, amelyek a Databricks Runtime 9.1 LTS vagy korábbi verziót futtatnak, használja helyette a Koalast.
A pandas egy Python-csomag, amelyet az adatelemzők gyakran használnak adatelemzéshez és -manipulációhoz. Azonban a Pandas nem méretezhető nagy mennyiségű adatra. A Sparkon futó Pandas API ezt a rést azzal tölti ki, hogy olyan pandas-egyenértékű API-kat biztosít, amelyek az Apache Sparkon működnek. Ez a nyílt forráskódú API ideális választás azoknak az adattudósoknak, akik ismerik a pandast, de az Apache Sparkot nem.
Kód kezelése jegyzetfüzetekkel és Databricks Git-mappákkal
A Databricks-jegyzetfüzetek támogatják a Pythont . Ezek a jegyzetfüzetek a Jupyterhez hasonló funkciókat biztosítanak, de olyan kiegészítésekkel, mint a big data-ot használó beépített vizualizációk, a hibakereséshez és a teljesítményfigyeléshez használható Apache Spark-integrációk, valamint a gépi tanulási kísérletek nyomon követésére szolgáló MLflow-integrációk. Első lépésként importálj egy jegyzetfüzetet
Tipp.
A jegyzetfüzet állapotának visszaállításához indítsa újra az iPython kernelt. Jupyter-felhasználók esetén a Jupyter "újraindítási kernel" lehetősége megfelel egy jegyzetfüzet leválasztásának és újracsatlakoztatásának a Databricksben. Ha újra szeretné indítani a kernelt egy Python-jegyzetfüzetben, kattintson a számítási választóra a jegyzetfüzet eszköztárában, és mutasson a csatolt fürtre vagy SQL Warehouse-ra a listában egy oldalsó menü megjelenítéséhez. Válassza a Leválasztás és újbóli csatolás lehetőséget. Ez leválasztja a jegyzetfüzetet a fürtről, és újra csatlakoztatja, ami újraindítja a Python-folyamatot.
A Databricks Git-mappák lehetővé teszik a felhasználók számára, hogy szinkronizálják a jegyzetfüzeteket és más fájlokat a Git-adattárakkal. A Databricks Git-mappák segítenek a kód verziószámozásában és együttműködésében, és egyszerűbbé teheti a kód teljes tárházának importálását az Azure Databricksbe, megtekintheti a korábbi jegyzetfüzet-verziókat, és integrálható az IDE-fejlesztéssel. Első lépésként klónozzon egy távoli Git-adattárat. Ezután megnyithatja vagy létrehozhat jegyzetfüzeteket az adattár klónozásával, csatolhatja a jegyzetfüzetet egy fürthöz, és futtathatja a jegyzetfüzetet.
Klaszterek és könyvtárak
Az Azure Databricks Compute bármilyen méretű fürthöz biztosít számításkezelést: az egycsomópontos fürtöktől kezdve a nagy fürtökig. Igényeinek megfelelően testre szabhatja a fürt hardverét és könyvtárait. Az adattudósok általában a munkát vagy egy fürt létrehozásával, vagy egy meglévő megosztott fürt használatával kezdik meg. Miután hozzáfér egy fürthöz, csatolhat egy jegyzetfüzetet a fürthöz, vagy futtathat egy feladatot a fürtön.
- A csak egyetlen csomópontot igénylő kis számítási feladatok esetében az adatelemzők egyetlen csomópontos számítást használhatnak a költségmegtakarításhoz.
- Részletes tippekért tekintse meg a számítási konfigurációra vonatkozó javaslatokat
- A rendszergazdák fürtszabályzatokat állíthatnak be a fürtök létrehozásának egyszerűsítése és irányítása céljából.
Az Azure Databricks-fürtök a Databricks Runtime-ot használják, amely számos népszerű könyvtárat biztosít, többek között az Apache Sparkot, a Delta Lake-t, a pandast és sok mást. További külső vagy egyéni Python-kódtárakat is telepíthet a jegyzetfüzetekhez és feladatokhoz való használatra.
- Kezdje az alapértelmezett kódtárakkal a Databricks Runtime kibocsátási megjegyzéseinek verzióiban és kompatibilitásában. A Databricks Runtime for Machine Learning használata gépi tanulási számítási feladatokhoz. Az előre telepített kódtárak teljes listájáért tekintse meg a Databricks Runtime kiadási jegyzeteinek verzióit és kompatibilitását.
- Testre szabhatja a környezetet jegyzetfüzet-hatókörű Python-kódtárakkal, amelyek lehetővé teszik a jegyzetfüzet vagy a feladatkörnyezet módosítását a PyPI-ból vagy más adattárakból származó kódtárakkal. A
%pip install my_library
magic parancs telepíti amy_library
-et a jelenleg csatlakoztatott fürt összes csomópontjára, és nem zavarja a többi számítási feladatot a standard hozzáférési módú számítási kapacitáson. - Szükség szerint telepítse a nem Python-kódtárakat fürttárakként.
- További részletekért lásd könyvtárak.
Vizualizációk
Az Azure Databricks Python-jegyzetfüzetek beépített támogatást nyújtanak számos vizualizációtípushoz. Régi vizualizációkat is használhat.
Az adatokat külső kódtárak használatával is megjelenítheti; néhány előre telepítve van a Databricks-futtatókörnyezetben, de egyéni kódtárakat is telepíthet. Népszerű lehetőségek a következők:
Feladatok
A Python-számítási feladatokat ütemezett vagy aktivált feladatokként automatizálhatja a Databricksben. A feladatok jegyzetfüzeteket, Python-szkripteket és Python-kerékfájlokat futtathatnak.
- Feladatok létrehozása és frissítése a Databricks felhasználói felületi vagy a Databricks REST APIhasználatával.
- A Databricks Python SDK-val programozott módon hozhat létre, szerkeszthet és törölhet feladatokat.
- A Databricks parancssori felülete kényelmes parancssori felületet biztosít a feladatok automatizálásához.
Tipp.
Ha jegyzetfüzet helyett Python-szkriptet szeretne ütemezni, használja a spark_python_task
létrehozási feladatkérés törzsében található tasks
mezőt.
Gépi tanulás
A Databricks számos gépi tanulási (ML) számítási feladatot támogat, beleértve a táblázatos adatok hagyományos gépi tanulását, a számítógépes látás és a természetes nyelvfeldolgozás mély tanulását, a javaslati rendszereket, a gráfelemzést stb. A Databricks gépi tanulásáról a Databricksen végzett gépi tanulással kapcsolatos általános információkért lásd a Databricks AI-ját és gépi tanulását.
Az ML-algoritmusokhoz előre telepített kódtárakat használhat a Databricks Runtime for Machine Learningben, amely olyan népszerű Python-eszközöket tartalmaz, mint a scikit-learn, a TensorFlow, a Keras, a PyTorch, az Apache Spark MLlib és az XGBoost. Egyéni kódtárakat telepíthet is.
A gépi tanulási műveletekhez (MLOps) az Azure Databricks egy felügyelt szolgáltatást biztosít a nyílt forráskód könyvtár MLflow-hoz. Az MLflow Tracking segítségével rögzítheti a modellfejlesztést, és újrahasználható formátumban mentheti a modelleket. Az MLflow modellregisztrációs adatbázisával kezelheti és automatizálhatja a modellek előléptetését az éles környezet felé. A feladatok és a modellszolgáltatás lehetővé teszi a modellek kötegelt és streamelési feladatokként, valamint REST-végpontként való üzemeltetését. További információkért és példákért tekintse meg a gen AI-ügynök és az ML-modell életciklusának MLflow vagy az MLflow Python API-dokumentációját.
A gyakori gépi tanulási számítási feladatok használatának megkezdéséhez tekintse meg a következő oldalakat:
- Scikit-learn használata tanításra és nyomon követésre az MLflow-val: 10 perces útmutató: gépi tanulás a Databricks platformon scikit-learn használatával
- Mélytanulási modellek betanítása: Mély tanulás
- Hiperparaméter-finomhangolás: A Hyperopt hiperparaméter hangolásának párhuzamosítása
- Gráfelemzés: GraphFrame-ek használata az Azure Databricksben
Integrált fejlesztői környezetek, fejlesztői eszközök és SDK-k
A Python-kód Azure Databricks-jegyzetfüzeteken belüli fejlesztése mellett külső fejlesztést is végezhet olyan integrált fejlesztési környezetek (IDE-k) használatával, mint a PyCharm, a Jupyter és a Visual Studio Code. A külső fejlesztési környezetek és a Databricks közötti munka szinkronizálásához több lehetőség is van:
- Kód: Szinkronizálhatja a kódot a Git használatával. Tekintse meg a Databricks Git-mappák Git-integrációját.
- Kódtárak és feladatok: Létrehozhat kódtárakat (például Python-kerekfájlokat) külsőleg, és feltöltheti őket a Databricksbe. Ezek a kódtárak importálhatók a Databricks-jegyzetfüzetekbe, vagy használhatók feladatok létrehozására. Lásd: Könyvtárak és A Databricks folyamatvezérlésének áttekintése.
- Távoli gép végrehajtása: A helyi IDE-ből futtathat kódot interaktív fejlesztéshez és teszteléshez. Az IDE képes kommunikálni az Azure Databricks szolgáltatással az Apache Spark és a nagy számítások Azure Databricks-fürtökön való végrehajtásához. Lásd: Databricks Connect.
A Databricks számos SDK-t biztosít, köztük egy Python SDK-, amelyek támogatják az automatizálást és a külső eszközökkel való integrációt. A Databricks SDK-ket olyan erőforrások kezelésére használhatja, mint a fürtök és könyvtárak, kód és más munkaterület-objektumok, munkaterhelések és feladatok, és még sok más. Tekintse meg a Databricks SDK-kat.
További információ az IDE-kről, a fejlesztői eszközökről és az SDK-król, lásd: Helyi fejlesztési eszközök.
További erőforrások
- A Databricks Academy számos témakörben kínál öngyors és oktató által vezetett kurzusokat.
- A Databricks Labs olyan eszközöket biztosít a Python-fejlesztéshez a Databricksben, mint a pytest beépülő modul és a pylint beépülő modul.
- A PySpark és a pandas közötti interoperabilitást támogató funkciók a következők:
- A Python és az SQL Database kapcsolati eszközei a következők:
- A Python-számítási feladatok Databricksbe való áthelyezésével kapcsolatos gyakori kérdések és tippek a Databricks tudásbázisában találhatók