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

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, broomamely 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.

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 SparkContexttá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 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 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-be data.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-be data.framegyű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:

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

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

További erőforrások