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 Learning. A Databricks Machine Learning 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ó- és modellszolgáltatáshoz. 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
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:
Az adatok betöltése a külső adattárból egy Azure Databricks-adattárba.
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.
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.
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ő:
- John Ehrlinger | Vezető alkalmazott tudós
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.
Következő lépések
- Adatelemzés végrehajtása az Azure Databricks használatával
- Kötegelt következtetési folyamatok üzembe helyezése az Azure Machine Learning használatával
- Oktatóanyag: Azure Machine Learning-folyamat létrehozása kötegelt pontozáshoz