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
- Az Ön munkaterhelésének 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.
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
Fontos
A Databricks SparkR elavult a Databricks Runtime 16.0-s és újabb verziókban. A Databricks inkább sparklyr használatát javasolja.
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, amely a dplyrhez, broom
, é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. Kezdje azzal, hogy importál 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. Az első lépésként a távoli Git-adattár klónozását kezdd el. 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 az önálló csomópontokhoz és a nagy fürtökhöz egyaránt biztosít számításkezelést. Az igényeinek megfelelően testre szabhatja a fürt hardverét és könyvtárait. 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, hogy egyszerűsítsék és irányítsák az adott fürtök létrehozását.
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, értelmezi a jegyzetfüzet és a SparkContext
parancsait, és futtatja a Spark-főkiszolgálót, amely koordinálja a Spark-végrehajtókkal. A munkavégző csomópontok a Spark-végrehajtókat futtatják, feldolgozó csomópontonként egy Spark-végrehajtót.
Egy egycsomópontos fürt egyetlen illesztőcsomóponttal és nincs feldolgozó csomópontja, és a Spark helyi módban fut az Azure Databricks által kezelt 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 Spark-tól a nagy adatok kezeléséhez vagy a párhuzamos feldolgozáshoz. Lásd a egycsomópontos számítást ().
Az adatméretek, amelyeket az R nehezen dolgoz fel (több gigabájt vagy petabájt), helyett 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 méretekben klaszteren belül. 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::dapply: A megadott függvényt alkalmazza
SparkDataFrame
minden partíciójára. -
SparkR::dapplyCollect: A megadott függvényt alkalmazza egy
SparkDataFrame
minden partíciójára, és az eredményeketdata.frame
ként gyűjti össze az R-be. -
SparkR::gapply: Csoportosítja a
SparkDataFrame
a megadott oszlopok használatával, és alkalmazza a megadott R függvényt az egyes csoportokra. -
SparkR::gapplyCollect: Csoportosítja a
SparkDataFrame
a megadott oszlopok használatával, alkalmazza a megadott R függvényt az egyes csoportokra, ésdata.frame
gyűjti vissza az eredményt az R-be. - 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. Databricks a databricksruntime/rbase alapképét példaként biztosítja a Docker Hubon egy Databricks Container Services-fürt elindításához R támogatással. Lásd még az alaprendszerkép létrehozásához használt Dockerfile.
Könyvtá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 kiadási megjegyzéseinek verziói és kompatibilitása között. 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 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 a fürtön belül é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önyvtárak > Új > CRAN telepítése elemre, és adja meg a könyvtá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önyvtárakat.
Egy egyéni csomagot telepíteni egy könyvtá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 könyvtárba a
install.packages
futtatásával.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 a fürt minden csomópontján, akkor 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üzet-feladatként automatizálhatja az Azure Databricksben.
- 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 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ára vonatkozó általános információkért lásd : Databricks Runtime for Machine Learning.
Az ML-algoritmusok esetében előre telepített kódtárakat használhat a Databricks Runtime for Machine Learningben. 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 modell-regiszterrel kezelheti és automatizálhatja a modellek előléptetését a produkciós környezetbe. 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 a gen AI-ügynök és az ML-modell életciklusának MLflow vagy az MLflow R API-dokumentációját.
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(z) R_HOME
értékét, és módosítsa azt $R_HOME/etc/Rprofile.site
. Vegye figyelembe, hogy a Databricks hozzáadott konfiguráció került a fájlba annak érdekében, hogy az Azure Databricksen üzemeltetett RStudio megfelelően működjön. 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ő.