Azure Databricks Python-fejlesztőknek
Ez a szakasz útmutatást nyújt jegyzetfüzetek és feladatok Fejlesztéséhez az Azure Databricksben a Python nyelv használatával. Az első alszakasz a gyakori munkafolyamatokhoz és feladatokhoz kapcsolódó oktatóanyagokra mutató hivatkozásokat tartalmaz. A második alszakasz api-kra, kódtárakra és kulcseszközökre mutató hivatkozásokat tartalmaz.
Az első lépések alapvető munkafolyamata a következő:
- 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 fürtön: Hozzon létre egy saját fürtöt, vagy győződjön meg arról, hogy rendelkezik megosztott fürt használatára vonatkozó engedélyekkel. Csatolja a jegyzetfüzetet a fürthöz, és futtassa a jegyzetfüzetet.
- Ezen kívül konkrétabb témakörökre is bonthatja a műveletet:
- 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.
Interaktív 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 az oktatóanyagokat: Ismerkedés az AI-val és a gépi tanulással, valamint az MLflow-útmutató Python-rövid útmutatója.
- A Databricks AutoML segítségével gyorsan megkezdheti a gépi tanulási modellek fejlesztését saját adathalmazokon. Ü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.
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ő Delta Live Tables-folyamatot.
Éles gépi tanulási és gépi tanulási műveletek
- Modell életciklusának kezelése a Unity Katalógusban
- 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. A Databricks Runtime 9.1 LTS-t és újabb verziót futtató fürtök esetében használja helyette a Koalast.
A pandas egy Python-csomag, amelyet az adatelemzők gyakran használnak adatelemzéshez és -manipulációhoz. A pandas azonban nem méretez big data-ra. 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áljon egy jegyzetfüzetet. Miután hozzáfér egy fürthöz, csatolhat egy jegyzetfüzetet a fürthöz, és futtathatja a jegyzetfüzetet.
Tipp.
A jegyzetfüzet állapotának teljes visszaállításához hasznos lehet újraindítani az iPython kernelt. A Jupyter-felhasználók számára a Jupyter "restart kernel" lehetősége megfelel egy jegyzetfüzet leválasztásának és újbóli csatolá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 > újracsatolása lehetőséget. Ez leválasztja a jegyzetfüzetet a fürtről, és újracsatlakoztatja, 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ónozz 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.
Fürtök és kódtá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 hardvereit és kódtárait. Az adattudósok általában egy fürt létrehozásával vagy egy meglévő megosztott fürt használatával kezdik meg a munkát. 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ürtlétrehozás egyszerűsítése és útmutatója érdekében.
Az Azure Databricks-fürtök egy Databricks Runtime-ot használnak, amely számos népszerű kódtá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ítimy_library
a jelenleg csatolt fürt összes csomópontját, de nem zavarja a megosztott fürtök más számítási feladatait. - Szükség szerint telepítse a nem Python-kódtárakat fürttárakként.
- További részletekért lásd a kódtárakat.
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.
- A feladatok felhasználói felületen keresztüli létrehozásával kapcsolatos részletekért lásd a Databricks-feladatok konfigurálását és szerkesztését ismertető cikket.
- A Databricks SDK-kkal 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 is telepíthet.
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 az ml-életciklus MLflow-val vagy az MLflow Python API-dokumentumokkal történő kezelésé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 és nyomon követés betanítása az MLflow használatával: 10 perces oktatóanyag: gépi tanulás a Databricksen a 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
Azonosítók, 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: Tárak és munkafolyamatok ütemezése és vezénylálása.
- 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 olyan SDK-k készletét biztosítja, amelyek támogatják az automatizálást és a külső eszközökkel való integrációt. A Databricks SDK-kkal olyan erőforrásokat kezelhet, mint a fürtök és tárak, kód- és egyéb munkaterület-objektumok, számítási feladatok és feladatok. Lásd a Databricks SDK-jait.
Az azonosítókkal, a fejlesztői eszközökkel és az SDK-kkal kapcsolatos további információkért lásd Fejlesztői eszközök és útmutatást.
További erőforrások
- A Databricks Academy számos témakörben kínál öngyors és oktató által vezetett kurzusokat.
- A PySpark és a pandas közötti együttműködést támogató funkciók
- Python- és SQL-adatbázis-kapcsolat
- Gyakori kérdések és tippek a Python-számítási feladatok Databricksbe való áthelyezéséhez