Spark-modellek kötegelt kiértékelése az Azure Databricksben

Microsoft Entra ID
Azure Databricks
Azure Data Factory
Azure Blob Storage

Ez a referenciaarchitektúra bemutatja, hogyan hozhat létre skálázható megoldást egy Apache Spark-besorolási modell kötegelt pontozásához ütemezés szerint az Azure Databricks használatával. Az Azure Databricks egy Azure-ra optimalizált Apache Spark-alapú elemzési platform. Az Azure Databricks három környezetet kínál az adatigényes alkalmazások fejlesztéséhez: Databricks SQL, Databricks Adattudomány > Engineering és Databricks Machine Tanulás. A Databricks Machine Tanulás egy integrált, végpontok közötti gépi tanulási környezet, amely felügyelt szolgáltatásokat tartalmaz a kísérletkövetéshez, a modellbetanításhoz, a funkciófejlesztéshez és -kezeléshez, valamint a funkciók és modellek kiszolgálásához. Ezt a referenciaarchitektúrát sablonként használhatja, amely általánosítható más forgatókönyvekre. Az architektúra referencia-implementációja elérhető a GitHubon.

Az Apache® és az Apache Spark® az Apache Software Foundation bejegyzett védjegyei vagy védjegyei a Egyesült Államok és/vagy más országokban. Az Apache Software Foundation nem támogatja ezeket a jeleket.

Architektúra

Az Apache Spark-besorolási modellek kötegelt pontozását bemutató ábra az Azure Databricksben.

Töltse le az architektúra Visio-fájlját.

Munkafolyamat

Az architektúra egy olyan adatfolyamot határoz meg, amely teljes egészében az Azure Databricksben található a szekvenciálisan végrehajtott jegyzetfüzetek halmaza alapján. A következő összetevőkből áll:

Adatfájlok. A referencia-implementáció egy szimulált adatkészletet használ, amely öt statikus adatfájlban található.

Betöltés. Az adatbetöltési jegyzetfüzet a bemeneti adatfájlokat Databricks-adatkészletek gyűjteményébe tölti le. Valós forgatókönyv esetén az IoT-eszközökről származó adatok a Databricks által elérhető tárolóba, például az Azure SQL-be vagy az Azure Blob Storage-ba kerülnek. A Databricks több adatforrást is támogat.

Betanítási folyamat. Ez a jegyzetfüzet végrehajtja a szolgáltatásmérnöki jegyzetfüzetet, hogy elemzési adatkészletet hozzon létre a betöltött adatokból. Ezután végrehajt egy modellkészítő jegyzetfüzetet, amely betanítja a gépi tanulási modellt az Apache Spark MLlib skálázható gépi tanulási kódtár használatával.

Pontozási folyamat. Ez a jegyzetfüzet végrehajtja a funkciómérnöki jegyzetfüzetet, hogy pontozási adatkészletet hozzon létre a betöltött adatokból, és végrehajtsa a pontozó jegyzetfüzetet. A pontozó jegyzetfüzet a betanított Spark MLlib-modellel készít előrejelzéseket a pontozási adatkészlet megfigyeléseihez. Az előrejelzések a Databricks-adattárban, egy új adatkészletben, az eredmények tárolójában vannak tárolva.

Ütemező. Egy ütemezett Databricks-feladat kezeli a Kötegpontozást a Spark-modellel. A feladat végrehajtja a pontozási folyamat jegyzetfüzetét, és változó argumentumokat ad át a jegyzetfüzet paraméterein keresztül, hogy megadja a pontozási adatkészlet létrehozásának részleteit és az eredményadatkészlet tárolásának helyét.

Megoldás részletei

A forgatókönyv folyamatfolyamatként van létrehozva. Minden jegyzetfüzet úgy van optimalizálva, hogy az egyes műveletekhez kötegbeállításban végezze el a műveleteket: betöltési, funkciótervezési, modellépítési és modellpontozási műveletek. A funkciómérnöki jegyzetfüzet úgy lett kialakítva, hogy általános adatkészletet hozzon létre bármely betanítási, kalibrálási, tesztelési vagy pontozási művelethez. Ebben a forgatókönyvben egy időbeli felosztási stratégiát használunk ezekhez a műveletekhez, így a jegyzetfüzet paramétereivel dátumtartomány-szűrést állíthatunk be.

Mivel a forgatókönyv kötegfolyamatot hoz létre, választható vizsgajegyzetfüzeteket biztosítunk a folyamatjegyzetfüzetek kimenetének vizsgálatához. Ezeket a jegyzetfüzeteket a GitHub-adattár jegyzetfüzetek mappájában találja:

  • 1a_raw-data_exploring.ipynb
  • 2a_feature_exploration.ipynb
  • 2b_model_testing.ipynb
  • 3b_model_scoring_evaluation.ipynb

Lehetséges használati esetek

Egy eszköz-nehéziparban lévő vállalat szeretné minimalizálni a váratlan mechanikai hibákkal járó költségeket és állásidőt. A gépekről gyűjtött IoT-adatok használatával prediktív karbantartási modellt hozhatnak létre. Ez a modell lehetővé teszi, hogy a vállalat proaktívan karbantartsa az összetevőket, és kijavítsa őket, mielőtt sikertelenek lennének. A mechanikus alkatrészek használatának maximalizálásával szabályozhatják a költségeket, és csökkenthetik az állásidőt.

A prediktív karbantartási modell adatokat gyűjt a gépekről, és megőrzi az összetevők hibáinak előzményeit. A modell ezután az összetevők aktuális állapotának figyelésére és annak előrejelzésére használható, hogy egy adott összetevő hamarosan meghibásodik-e. A gyakori használati esetek és modellezési megközelítésekért tekintse meg az Azure AI prediktív karbantartási megoldásait ismertető útmutatót.

Ez a referenciaarchitektúra olyan számítási feladatokhoz készült, amelyeket az összetevő gépekről származó új adatok jelenléte vált ki. A feldolgozás a következő lépéseket foglalja magában:

  1. Az adatok betöltése a külső adattárból egy Azure Databricks-adattárba.

  2. Gépi tanulási modell betanításához alakítsa át az adatokat betanítási adatkészletté, majd létrehoz egy Spark MLlib-modellt. Az MLlib a leggyakoribb gépi tanulási algoritmusokból és segédprogramokból áll, a Spark-adatok méretezhetőségi képességeinek kihasználására optimalizálva.

  3. Alkalmazza a betanított modellt az összetevők hibáinak előrejelzésére (besorolására) az adatok pontozási adatkészletté alakításával. Az adatok pontszáma a Spark MLLib-modellel.

  4. Az eredmények tárolása a Databricks adattárban utófeldolgozási felhasználás céljából.

A GitHubon minden egyes feladat elvégzéséhez jegyzetfüzeteket biztosítunk.

Ajánlások

A Databricks be van állítva, így betöltheti és üzembe helyezheti a betanított modelleket, hogy új adatokkal előrejelzéseket készítsen. A Databricks további előnyöket is kínál:

  • Egyszeri bejelentkezés támogatása a Microsoft Entra hitelesítő adataival.
  • Feladatütemező az éles folyamatok feladatainak végrehajtásához.
  • Teljesen interaktív jegyzetfüzet együttműködéssel, irányítópultokkal és REST API-kkal.
  • Korlátlan méretű fürtök, amelyek bármilyen méretűre méretezhetők.
  • Speciális biztonság, szerepköralapú hozzáférés-vezérlés és naplózási naplók.

Az Azure Databricks szolgáltatással való interakcióhoz használja a Databricks-munkaterület felületét egy webböngészőben vagy a parancssori felületen (CLI). A Databricks parancssori felületét bármely olyan platformról elérheti, amely támogatja a Python 2.7.9-et és a 3.6-ot.

A referencia-implementáció jegyzetfüzetekkel hajtja végre a feladatokat egymás után. Minden jegyzetfüzet a köztes adatösszetevőket (betanítási, tesztelési, pontozási vagy eredményadatkészleteket) ugyanabban az adattárban tárolja, mint a bemeneti adatokat. A cél az, hogy megkönnyítse az ön számára, hogy szükség szerint használja az adott használati esetben. A gyakorlatban az adatforrást az Azure Databricks-példányhoz csatlakoztatná, hogy a jegyzetfüzetek közvetlenül a tárolóba olvassák és írjanak vissza.

Szükség esetén monitorozza a feladatok végrehajtását a Databricks felhasználói felületén, az adattáron vagy a Databricks parancssori felületén keresztül. Figyelje a fürtöt az eseménynapló és a Databricks által biztosított egyéb metrikák használatával.

Megfontolások

Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek halmaza. További információ: Microsoft Azure Well-Architected Framework.

Teljesítmény

Az Azure Databricks-fürtök alapértelmezés szerint engedélyezik az automatikus skálázást, így futásidőben a Databricks dinamikusan újratelepíti a dolgozókat, hogy figyelembe vegyék a feladat jellemzőit. Előfordulhat, hogy a folyamat bizonyos részei számításilag nagyobb terhelést igényelnek, mint mások. A Databricks további dolgozókat ad hozzá a feladat ezen fázisai során (és eltávolítja őket, ha már nincs rájuk szükség). Az automatikus skálázás megkönnyíti a fürt magas kihasználtságának elérését, mivel nem kell kiépítenie a fürtöt a számítási feladatnak megfelelően.

Összetettebb ütemezett folyamatok fejlesztése az Azure Data Factory és az Azure Databricks használatával.

Tárolás

Ebben a referencia-implementációban az adatok közvetlenül a Databricks Storage-ban lesznek tárolva az egyszerűség kedvéért. Éles környezetben azonban az adatokat felhőalapú adattárban, például az Azure Blob Storage-ban is tárolhatja. A Databricks támogatja az Azure Data Lake Store-t, az Azure Synapse Analyticset, az Azure Cosmos DB-t, az Apache Kafkát és az Apache Hadoopot is.

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: A költségoptimalizálási pillér áttekintése.

A legtöbb esetben az Azure-díjkalkulátorral megbecsülheti költségeit. Egyéb szempontokat a Microsoft Azure Well-Architected Framework Költség szakaszában ismertetünk.

Az Azure Databricks egy prémium Spark-ajánlat, amelyhez társított költségek tartoznak. Emellett standard és prémium Szintű Databricks tarifacsomagok is rendelkezésre állnak.

Ebben a forgatókönyvben a standard tarifacsomag elegendő. Ha azonban az adott alkalmazás a nagyobb számítási feladatok vagy interaktív Databricks-irányítópultok kezeléséhez automatikusan skálázási fürtöket igényel, a prémium szint tovább növelheti a költségeket.

A megoldásjegyzetfüzetek bármilyen Spark-alapú platformon futtathatók minimális módosításokkal a Databricks-specifikus csomagok eltávolításához. Tekintse meg a következő hasonló megoldásokat a különböző Azure-platformokhoz:

A forgatókönyv üzembe helyezése

A referenciaarchitektúra üzembe helyezéséhez kövesse a GitHub-adattárban leírt lépéseket, hogy skálázható megoldást hozzon létre a Spark-modellek pontozásához az Azure Databricks-en kötegben.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések