Azure Databricks R-fejlesztőknek
Ez a szakasz útmutatót nyújt jegyzetfüzetek és feladatok fejlesztéséhez az Azure Databricksben az R nyelv használatával.
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 Azure 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
- R fejlesztői eszközök használata
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.
- Oktatóanyag: Adatok elemzése a glm használatával
- MLflow rövid útmutató R-jegyzetfüzet
- Oktatóanyag: Delta Lake
Referencia
Az alábbi alszakaszok felsorolják a legfontosabb funkciókat és tippeket, amelyekkel megkezdheti a fejlesztést az Azure Databricksben az R használatával.
Az Azure Databricks két API-t támogat, amelyek R-felületet biztosítanak az Apache Sparkhoz: SparkR-hez és sparklyrhez.
SparkR
Ezek a cikkek bevezetőt és hivatkozást nyújtanak a SparkR-hez. A SparkR az Apache Spark R-felülete, amely elosztott adatkeret-implementációt biztosít. A SparkR támogatja az olyan műveleteket, mint a kijelölés, a szűrés és az összesítés (hasonlóan az R-adatkeretekhez), de nagy adathalmazokon.
sparklyr
Ez a cikk bemutatja a Sparklyrt. A sparklyr az Apache Spark R-felülete, broom
amely a dplyrhez és a DBI-hez hasonló funkciókat biztosít.
A SparkR és a Sparklyr összehasonlítása
Ez a cikk a SparkR és a Sparklyr főbb hasonlóságait és különbségeit ismerteti.
DataFrame-ek és -táblák használata a SparkR és a Sparklyr használatával
Ez a cikk azt ismerteti, hogyan használható az R, a SparkR, a Sparklyr és a dplyr R data.frames, Spark DataFrames és Spark-táblákkal az Azure Databricksben.
Kód kezelése jegyzetfüzetekkel és Databricks Git-mappákkal
Az Azure Databricks-jegyzetfüzetek támogatják az R-t . 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.
Az Azure Databricks Git-mappák lehetővé teszik, hogy a felhasználók szinkronizálják a jegyzetfüzeteket és más fájlokat a Git-adattárakkal. Az Azure 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 notebookverzió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
Az Azure Databricks Compute számítási felügyeletet biztosít az önálló csomópontokhoz és a nagy fürtökhöz egyaránt. 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ó ajánlott eljárásait.
- Rendszergazda istratorok fürtszabályzatokat állíthatnak be a fürtlétrehozás egyszerűsítése és útmutatója érdekében.
Egycsomópontos R és elosztott R
Az Azure Databricks-fürtök egy Apache Spark-illesztőcsomópontból és nulla vagy több Spark-feldolgozó(más néven végrehajtó) csomópontból állnak. Az illesztőprogram-csomópont fenntartja a csatolt jegyzetfüzet állapotát, karbantartja a jegyzetfüzet és a SparkContext
tár parancsait, és futtatja a Spark-végrehajtókkal koordinált Spark-főkiszolgálót. A munkavégző csomópontok a Spark-végrehajtókat futtatják, feldolgozó csomópontonként egy Spark-végrehajtót.
Egyetlen csomópontfürt egyetlen illesztőcsomóponttal és feldolgozó csomóponttal rendelkezik, és a Spark helyi módban fut az Azure Databricks által felügyelt táblákhoz való hozzáférés támogatásához. Az egycsomópontos fürtök támogatják az RStudio-t, a jegyzetfüzeteket és a kódtárakat, és olyan R-projektekhez hasznosak, amelyek nem függnek a Sparktól big data vagy párhuzamos feldolgozás esetén. Lásd: Egycsomópontos vagy többcsomópontos számítás.
Az R által feldolgozandó adatméretek (több gigabájt vagy petabájt) esetében inkább több csomópontos vagy elosztott fürtöket kell használnia. Az elosztott fürtöknek egy illesztőprogram-csomópontjuk és egy vagy több feldolgozó csomópontjuk van. Az elosztott fürtök nem csak az RStudio, a jegyzetfüzetek és a tárak használatát támogatják, hanem az olyan R-csomagokat is, mint a SparkR és a Sparkly, amelyek egyedileg úgy lettek kialakítva, hogy elosztott fürtöket használjanak a SparkContext
rendszeren keresztül. Ezek a csomagok ismerős SQL- és DataFrame API-kat biztosítanak, amelyek lehetővé teszik a különböző Spark-feladatok és parancsok párhuzamos hozzárendelését és futtatását a feldolgozó csomópontok között. A Sparklyrről és a SparkR-ről további információt a SparkR és a Sparklyr összehasonlítása című témakörben talál.
Egyes SparkR- és sparklyr-függvények, amelyek különösen kihasználják a kapcsolódó munka munkavégző csomópontok közötti elosztását, a következők:
- sparklyr::spark_apply: Tetszőleges R-kódot futtat nagy léptékben egy fürtben. Ez különösen akkor hasznos, ha olyan funkciókat használ, amelyek csak R- vagy R-csomagokban érhetők el, amelyek nem érhetők el az Apache Sparkban vagy más Spark-csomagokban.
- SparkR::d apply: A megadott függvényt alkalmazza egy
SparkDataFrame
. - SparkR::d applyCollect: A megadott függvényt alkalmazza egy
SparkDataFrame
adott partícióra, és az eredményeket visszaszedi az R-bedata.frame
. - SparkR::gapply: A csoportok
SparkDataFrame
a megadott oszlopok használatával, és a megadott R függvényt alkalmazza az egyes csoportokra. - SparkR::gapplyCollect: Csoportosítja az a-t
SparkDataFrame
a megadott oszlopok használatával, alkalmazza a megadott R függvényt az egyes csoportokra, és az eredményt az R-bedata.frame
gyűjti vissza. - SparkR::spark.lapply: A megadott függvényt az elemek listáján futtatja, és a számításokat a Sparkkal osztja el.
Példákat a Spark Elosztott R: Felhasználó által definiált függvények című jegyzetfüzetében talál.
Databricks Container Services
A Databricks Container Services lehetővé teszi Docker-rendszerkép megadását fürt létrehozásakor. A Databricks a Databricksruntime/rbase alaprendszerképet biztosítja a Docker Hubon példaként egy Databricks Container Services-fürt R-támogatással történő elindításához. Lásd még az alaprendszerkép létrehozásához használt Dockerfile-fájlt .
Kódtárak
Az Azure Databricks-fürtök a Databricks Runtime-ot használják, amely számos népszerű kódtárat biztosít, többek között az Apache Sparkot, a Delta Lake-t és sok mást. További külső vagy egyéni R-csomagokat is telepíthet a jegyzetfüzetekhez és feladatokhoz használható kódtárakba.
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 Tanulás 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 célként szolgáló Databricks-futtatókörnyezetének "Telepített R-kódtárak" szakaszát a Databricks Runtime kiadási jegyzeteinek verzióiban és kompatibilitásában.
A környezetet jegyzetfüzet-hatókörű R-kódtárak használatával szabhatja testre, amelyek lehetővé teszik a jegyzetfüzet vagy a feladatkörnyezet módosítását CRAN- vagy más adattárakból származó kódtárakkal. Ehhez használhatja a jól ismert install.packages függvényt a következőből utils
: . Az alábbi példa telepíti a Arrow R-csomagot az alapértelmezett CRAN-adattárból:
install.packages("arrow")
Ha a Databricks Runtime-ban találhatónál régebbi verzióra van szüksége, akkor jegyzetfüzet használatával futtathatja install_version függvényt.devtools
Az alábbi példa a DPLYR 0.7.4-es verzióját telepíti a CRAN-ból:
require(devtools)
install_version(
package = "dplyr",
version = "0.7.4",
repos = "http://cran.r-project.org"
)
Az így telepített csomagok egy fürtben érhetők el. Hatókörük az őket telepítő felhasználóra terjed ki. Ez lehetővé teszi, hogy ugyanazon csomag több verzióját telepítse ugyanazon a számításon csomagütközések létrehozása nélkül.
Szükség szerint más kódtárakat is telepíthet fürtkódtárként, például a CRAN-ból. Ehhez a fürt felhasználói felületén kattintson a Kódtárak > Új > CRAN telepítése elemre, és adja meg a kódtár nevét. Ez a megközelítés különösen akkor fontos, ha felhasználó által definiált függvényeket szeretne meghívni SparkR vagy Sparklyr használatával.
További részletekért lásd a kódtárakat.
Egyéni csomag telepítése tárba:
Hozza létre az egyéni csomagot a parancssorból vagy az RStudio használatával.
Másolja át az egyéni csomagfájlt a fejlesztői gépről az Azure Databricks-munkaterületre. A lehetőségeket a Kódtárak című témakörben talál.
Telepítse az egyéni csomagot egy tárba a futtatással
install.packages
.Például egy jegyzetfüzetből a munkaterületen:
install.packages( pkgs = "/path/to/tar/file/<custom-package>.tar.gz", type = "source", repos = NULL )
Vagy:
%sh R CMD INSTALL /path/to/tar/file/<custom-package>.tar.gz
Miután telepített egy egyéni csomagot egy tárba, adja hozzá a tárat a keresési útvonalhoz, majd töltse be a tárat egyetlen paranccsal.
Példa:
# Add the library to the search path one time.
.libPaths(c("/path/to/tar/file/", .libPaths()))
# Load the library. You do not need to add the library to the search path again.
library(<custom-package>)
Ha egy egyéni csomagot kódtárként szeretne telepíteni egy fürt minden csomópontján, a What are init scripts?-t kell használnia.
Vizualizációk
Az Azure Databricks R-jegyzetfüzetek különböző típusú vizualizációkat támogatnak a display
függvény használatával.
Feladatok
Az R-számítási feladatokat ütemezett vagy aktivált jegyzetfüzetként automatizálhatja Azure Databricks-feladatok létrehozása és futtatása az Azure Databricksben.
- A feladat felhasználói felületen keresztüli létrehozásával kapcsolatos részletekért lásd : Feladat létrehozása.
- A Feladatok API-val feladatokat hozhat létre, szerkeszthet és törölhet.
- A Databricks parancssori felülete kényelmes parancssori felületet biztosít a Jobs API meghívásához.
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. Az Azure Databricks gépi tanulásáról általános információt a Databricks Runtime for Machine Tanulás című témakörben talál.
Az ml-algoritmusok esetében előre telepített kódtárakat használhat a Databricks Runtime for Machine Tanulás. 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 való üzemeltetését REST-végpontként. További információkért és példákért tekintse meg az ML életciklus-felügyeletét az MLflow vagy az MLflow R API-dokumentumokkal.
R fejlesztői eszközök
Az Azure Databricks-jegyzetfüzetek mellett az alábbi R-fejlesztői eszközöket használhatja:
A SparkR és az RStudio Desktop használata a Databricks Connecttel.
A sparklyr és az RStudio Desktop használata a Databricks Connecttel.
R-munkamenet testreszabása
A Databricks Runtime 12.2 LTS-ben és újabb verziókban az R-munkamenetek testre szabhatók webhelyszintű profilfájlok (.Rprofile
) használatával. Az R-jegyzetfüzetek az indítás során R-kódként fogják beszerezni a fájlt. A fájl módosításához keresse meg a fájl értékét R_HOME
, és módosítsa $R_HOME/etc/Rprofile.site
azt. Vegye figyelembe, hogy a Databricks konfigurálva lett a fájlban, hogy az Azure Databricksen üzemeltetett RStudio megfelelő funkcionalitást biztosítson. Ha eltávolítja bármelyiket, előfordulhat, hogy az RStudio nem a várt módon működik.
A Databricks Runtime 11.3 LTS és újabb verziókban ez a viselkedés a környezeti változó DATABRICKS_ENABLE_RPROFILE=true
beállításával engedélyezhető.
További erőforrások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: