Azure Databricks Python fejlesztőknek

Ez a szakasz útmutatót nyújt a jegyzetfüzetek és feladatok Azure Databricks 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:

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

Adatelemzés és gépi tanulás

Python jegyzetfüzetek hibakeresése

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-es és újabb verzióival variable Explorer használatával nyomon követheti Python változók aktuális értékét a jegyzetfüzet felhasználói felületén. A változókezelővel megfigyelheti Python változók értékeit a töréspontokon való lépés során.

Python hibakereső példajegyzetfüzete

Jegyzetfüzet beszerzése

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

Python Databricksen kívül futó 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ástechnika esetében 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 feladatokhoz 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

PySpark az Apache Spark hivatalos Python API-ja, amely egyesíti a Python és az Apache Spark erejét. A PySpark rugalmasabb, mint a Pandas API a Sparkban, és széles körű támogatást és funkciókat biztosít az adatelemzéshez és a mérnöki funkciókhoz, például a Spark SQL-hez, a strukturált streameléshez, az MLLib-hez és a GraphX-hez.

Pandas API a Spark-keretrendszerben

Feljegyzés

A koalasi nyílt forráskódú projekt most azt javasolja, hogy váltson a Pandas API-ra a Sparkon. A Spark-alapú Pandas API a Databricks Runtime 10.0 vagy annál újabb verzióval rendelkező 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 .

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

Databricks-jegyzetfüzetek támogatják Python. 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. 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 visszaállításához indítsa újra az iPython kernelt. A Jupyter-felhasználók számára a Jupyter "restart kernel" lehetősége egy új munkamenet indításának felel meg a Databricksben. Ha újra szeretné indítani a kernelt egy Python jegyzetfüzetben, kattintson a compute 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 az Új munkamenet lehetőséget. Ez elindít egy új munkamenetet, amely ú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 Azure Databricks, 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.

Klaszterek és könyvtárak

Azure Databricks compute bármilyen méretű fürthöz biztosít számításkezelést: az egycsomópontos fürtöktől 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.

Azure Databricks fürtök Databricks Runtime-ot használnak, 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 tárakat is telepíthet a jegyzetfüzetekhez és feladatokhoz való használatra.

Vizualizációk

Azure Databricks Python jegyzetfüzetek beépített támogatást nyújtanak a vizualizációk számos típusához. 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

Automatizálhatja a Python munkaterheléseket ütemezett vagy indított feladatokként a Databricksben. A feladatok jegyzetfüzeteket, Python szkripteket és Python wheel fájlokat futtathatnak.

Tipp

Ha jegyzetfüzet helyett Python szkriptet szeretne ütemezni, használja a spark_python_task alatti tasks mezőt egy létrehozási feladatkérés törzsében.

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-algoritmusok esetében a Databricks Runtime for Machine Learning előre telepített kódtárait használhatja, amelyek olyan népszerű Python eszközöket tartalmaznak, 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) Azure Databricks egy felügyelt szolgáltatást biztosít a open source 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ó és példák: MLflow on Databricks vagy a MLflow Python API-dokumentumok.

A gyakori gépi tanulási számítási feladatok használatának megkezdéséhez tekintse meg a következő oldalakat:

Integrált fejlesztői környezetek, fejlesztői eszközök és SDK-k

A Azure Databricks jegyzetfüzeteken belüli Python kód 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. Lásd: Azure Databricks Git-mappák.
  • Naplók és feladatok: Külsőleg létrehozhat kódtárakat (például Python kerékfájlokat), é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ódtárak és Lakeflow-feladatok telepíté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, hogy Apache Spark-ot és nagy számításokat hajtson végre az Azure Databricks fürtökön. 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. Lásd a Databricks SDK-ket.

Az IDE-kkel, fejlesztői eszközökkel és SDK-kkal kapcsolatos további információkért lásd: Helyi fejlesztési eszközök.

További erőforrások

  • A Python számítási feladatok Databricksbe való áthelyezésével kapcsolatos gyakori kérdések és tippek a Databricks tudásbázisban találhatók.