Megosztás a következőn keresztül:


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ő:

  1. 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.
  2. 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:

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 SparkContextrendszeren 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 SparkDataFrameminden partíciójára.
  • SparkR::dapplyCollect: A megadott függvényt alkalmazza egy SparkDataFrame minden partíciójára, és az eredményeket data.frameké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, és data.framegyű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:

  1. Hozza létre az egyéni csomagot a parancssorból vagy az RStudio használatával.

  2. 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.

  3. 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.

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:

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=truebeállításával engedélyezhető.

További erőforrások