Sdílet prostřednictvím


Azure Databricks pro vývojáře používající jazyk R

Tato část obsahuje průvodce vývojem poznámkových bloků a úloh v Azure Databricks pomocí jazyka R.

Základní pracovní postup pro zahájení práce:

  1. Import kódu: Buď naimportujte vlastní kód ze souborů nebo úložišť Git, nebo vyzkoušejte kurz uvedený níže. Databricks doporučuje naučit se používat interaktivní poznámkové bloky Azure Databricks.
  2. Spusťte kód v clusteru: Buď vytvořte vlastní cluster, nebo se ujistěte, že máte oprávnění k používání sdíleného clusteru. Připojte notebook ke clusteru a spusťte notebook.

Kromě toho můžete rozvětvovat do konkrétnějších témat:

Návody

Následující kurzy obsahují ukázkový kód a poznámkové bloky, které vám pomůžou seznámit se s běžnými pracovními postupy. Pokyny k importu příkladů poznámkových bloků do pracovního prostoru najdete v tématu Import poznámkového bloku .

Odkaz

Následující pododdíly uvádějí klíčové funkce a tipy, které vám pomůžou začít vyvíjet v Azure Databricks pomocí jazyka R.

Azure Databricks podporuje dvě rozhraní API, která poskytují rozhraní R pro Apache Spark: SparkR a sparklyr.

SparkR

Důležitý

SparkR v Databricks je zastaralé v Databricks Runtime 16.0 a vyšších. Databricks místo toho doporučuje používat sparklyr.

Tyto články obsahují úvod a referenční informace pro SparkR. SparkR je rozhraní R pro Apache Spark, které poskytuje implementaci distribuovaného datového rámce. SparkR podporuje operace, jako je výběr, filtrování a agregace (podobně jako datové rámce R), ale u velkých datových sad.

sparklyr

Tento článek obsahuje úvod do sparklyr. sparklyr je rozhraní R pro Apache Spark, které poskytuje funkce podobné dplyr, brooma DBI.

Porovnání SparkR a sparklyr

Tento článek vysvětluje klíčové podobnosti a rozdíly mezi SparkR a sparklyr.

Práce s datovými rámci a tabulkami pomocí SparkR a sparklyr

Tento článek popisuje, jak používat R, SparkR, sparklyr a dplyr pro práci s R data.frames, Spark DataFrames a Spark tabulky v Azure Databricks.

Správa kódu pomocí poznámkových bloků a složek Git Databricks

Poznámkové bloky Azure Databricks podporují R. Tyto poznámkové bloky poskytují funkce podobné těm v Jupyteru, ale s dalšími prvky, jako jsou integrované vizualizace využívající velká data, integrace Apache Spark pro ladění a monitorování výkonu, a integrace MLflow pro sledování experimentů strojového učení. Začněte importem poznámkového bloku. Jakmile budete mít přístup ke clusteru, můžete připojit poznámkový blok ke clusteru a spustit poznámkový blok.

Složky Git v Azure Databricks umožňují uživatelům synchronizovat poznámkové bloky a další soubory s úložišti Git. Složky Gitu v Azure Databricks pomáhají se správou verzí kódu a spolupráci a můžou zjednodušit import celého úložiště kódu do Azure Databricks, zobrazení předchozích verzí poznámkových bloků a integraci s vývojem integrovaného vývojového prostředí (IDE). Začněte klonováním vzdáleného úložiště Git. Potom můžete otevřít nebo vytvořit poznámkové bloky pomocí klonování úložiště, připojit poznámkový blok ke clusteru a spustit poznámkový blok.

Klastery

Azure Databricks výpočetní prostředky poskytují správu pro jednotlivé uzly i velké clustery. Hardware a knihovny clusteru můžete přizpůsobit podle svých potřeb. Jakmile budete mít přístup ke clusteru, můžete k clusteru připojit poznámkový blok nebo spustit úlohu v clusteru.

  • U malých úloh, které vyžadují jenom jednotlivé uzly, můžou datoví vědci využít výpočetní prostředky s jedním uzlem a ušetřit tak náklady.
  • Podrobné tipy najdete v doporučeních ke konfiguraci výpočetních prostředků.
  • Správci můžou nastavit zásady pro clustery, aby zjednodušili a usměrnili vytváření clusterů.

R pro jeden uzel a distribuované prostředí R

Clustery Azure Databricks se skládají z uzlu Apache Spark driver a nula nebo více pracovních uzlů Spark (označovaných také jako výkonné uzly). Uzel ovladače udržuje připojený stav poznámkového bloku, udržuje příkazy poznámkového bloku, interpretuje SparkContextpříkazy poznámkového bloku a knihovny a spouští hlavní server Sparku, který koordinuje s exekutory Sparku. Pracovní uzly spouští exekutory Sparku, jeden exekutor Sparku na pracovní uzel.

Cluster s jedním uzlem má jeden uzel ovladače a žádné pracovní uzly se Sparkem spuštěným v místním režimu pro podporu přístupu k tabulkám spravovaným službou Azure Databricks. Clustery s jedním uzlem podporují RStudio, poznámkové bloky a knihovny a jsou užitečné pro projekty R, které nezávisí na Sparku pro velké objemy dat nebo paralelní zpracování. Viz výpočet s jedním uzlem.

U velikostí dat, které R bojuje za zpracování (mnoho gigabajtů nebo petabajtů), byste místo toho měli použít více uzlů nebo distribuovaných clusterů. Distribuované clustery mají jeden uzel ovladače a jeden nebo více pracovních uzlů. Distribuované clustery podporují nejen RStudio, poznámkové bloky a knihovny, ale balíčky R, jako jsou SparkR a sparkly, které jsou jedinečně navržené tak, aby používaly distribuované clustery prostřednictvím rozhraní SparkContext. Tyto balíčky poskytují známá rozhraní API sql a datového rámce, která umožňují paralelní přiřazování a spouštění různých úloh a příkazů Sparku napříč pracovními uzly. Další informace o sparklyr a SparkR najdete v tématu Porovnání SparkR a sparklyr.

Mezi funkce SparkR a sparklyr, které využívají konkrétní výhody distribuce související práce mezi pracovní uzly, patří:

  • sparklyr::spark_apply: Spustí libovolný kód R ve velkém měřítku v rámci clusteru. To je užitečné zejména pro použití funkcí, které jsou k dispozici pouze v balíčcích R nebo R, které nejsou k dispozici v Apache Sparku ani jiných balíčcích Spark.
  • SparkR::dapply: Použije zadanou funkci na každou část/oddíl dat SparkDataFrame.
  • SparkR::dapplyCollect: Použije zadanou funkci na každý oddíl SparkDataFrame a shromáždí výsledky zpět do R jako data.frame.
  • SparkR::gapply: Seskupí SparkDataFrame pomocí zadaných sloupců a použije pro každou skupinu zadanou funkci R.
  • SparkR::gapplyCollect: Seskupí SparkDataFrame pomocí zadaných sloupců, použije zadanou funkci R pro každou skupinu a shromáždí výsledek zpět do R jako data.frame.
  • SparkR::spark.lapply: Spustí zadanou funkci přes seznam prvků a distribuuje výpočty pomocí Sparku.

Příklady najdete v poznámkovém bloku Distributed R: User Defined Functions in Spark.

Databricks Container Services

Služba Databricks Container Services umožňuje při vytváření clusteru zadat image Dockeru. Databricks poskytuje základní image databricksruntime/rbase v Docker Hubu jako příklad pro spuštění clusteru Databricks Container Services s podporou jazyka R. Vizte také Dockerfile, který se používá k vygenerování tohoto základního obrazu.

Knihovny

Clustery Azure Databricks používají Databricks Runtime, který poskytuje mnoho oblíbených knihoven, včetně Apache Spark, Delta Lake a dalších. Do knihoven můžete také nainstalovat další balíčky třetích stran nebo vlastní balíčky R, které se použijí s poznámkovými bloky a úlohami.

Začněte s výchozími knihovnami v části verze a kompatibilita poznámek k verzi Databricks Runtime. Použití modulu Databricks Runtime pro strojové učení pro úlohy strojového učení Úplný seznam předinstalovaných knihoven najdete v části „Nainstalované knihovny R“ pro cílový Databricks Runtime v části Poznámky k vydání Databricks Runtime: verze a kompatibilita.

Prostředí můžete přizpůsobit pomocí knihoven jazyka R s oborem poznámkového bloku, které umožňují upravit poznámkový blok nebo prostředí úloh pomocí knihoven z CRAN nebo jiných úložišť. K tomu můžete použít známou funkci install.packages z utils. Následující příklad nainstaluje balíček Arrow R z výchozího úložiště CRAN:

install.packages("arrow")

Pokud potřebujete starší verzi, než je součástí databricks Runtime, můžete pomocí poznámkového bloku spustit funkci install_version z devtools. Následující příklad nainstaluje dplyr verze 0.7.4 z CRAN:

require(devtools)

install_version(
  package = "dplyr",
  version = "0.7.4",
  repos   = "http://cran.r-project.org"
)

Balíčky nainstalované tímto způsobem jsou k dispozici v rámci clusteru. Jsou vymezeny na uživatele, který je nainstaluje. To vám umožní nainstalovat do stejného výpočetního prostředí více verzí stejného balíčku, aniž byste museli vytvářet konflikty balíčků.

Další knihovny můžete podle potřeby nainstalovat jako knihovny clusteru, například z CRAN. Uděláte to tak, že v uživatelském rozhraní clusteru kliknete na Knihovny > Instalovat nový > CRAN a zadáte název knihovny. Tento přístup je zvlášť důležitý, pokud chcete volat uživatelem definované funkce pomocí SparkR nebo sparklyr.

Další podrobnosti najdete v tématu Knihovny.

Nainstalujte vlastní balíček do knihovny:

  1. Vytvořte vlastní balíček z příkazového řádku nebo pomocí RStudio.

  2. Zkopírujte vlastní soubor balíčku z vývojového počítače do pracovního prostoru Azure Databricks. Možnosti najdete v tématu Knihovny.

  3. Nainstalujte vlastní balíček do knihovny spuštěním install.packagespříkazu .

    Například z poznámkového bloku v pracovním prostoru:

    install.packages(
      pkgs  = "/path/to/tar/file/<custom-package>.tar.gz",
      type  = "source",
      repos = NULL
    )
    

    Nebo:

    %sh
    R CMD INSTALL /path/to/tar/file/<custom-package>.tar.gz
    

Po instalaci vlastního balíčku do knihovny přidejte knihovnu do cesty hledání a pak knihovnu načtěte jedním příkazem.

Příklad:

# 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>)

Chcete-li nainstalovat vlastní balíček jako knihovnu na každý uzel v clusteru, musíte použít co jsou inicializační skripty?.

Vizualizace

Poznámkové bloky Azure Databricks R podporují různé typy vizualizací pomocí display funkce.

Úlohy

Úlohy R můžete automatizovat jako naplánované nebo spuštěné úlohy poznámkového bloku v Azure Databricks.

  • Podrobnosti o vytvoření úlohy prostřednictvím uživatelského rozhraní najdete v tématu Konfigurace a úprava úloh Databricks.
  • Rozhraní API pro úlohy umožňuje vytvářet, upravovat a odstraňovat úlohy.
  • Databricks CLI poskytuje pohodlné rozhraní pro volání API pro úlohy.

Strojové učení

Databricks podporuje širokou škálu úloh strojového učení (ML), včetně tradičního strojového učení u tabulkových dat, hlubokého učení pro zpracování počítačového zpracování obrazu a přirozeného jazyka, systémů doporučení, analýzy grafů a dalších. Obecné informace o strojovém učení v Azure Databricks najdete v tématu Databricks Runtime pro Machine Learning.

Pro algoritmy ML můžete použít předem nainstalované knihovny v Databricks Runtime pro Machine Learning. Můžete také nainstalovat vlastní knihovny.

Pro operace strojového učení (MLOps) poskytuje Azure Databricks spravovanou službu pro opensourcovou knihovnu MLflow. Pomocí nástroje MLflow Tracking můžete zaznamenávat vývoj modelů a ukládat modely v opakovaně použitelných formátech. Registr modelů MLflow můžete použít ke správě a automatizaci povýšení modelů do produkčního prostředí. Úlohy a obsluha modelů umožňují hostování modelů jako dávkových a streamovaných úloh jako koncových bodů REST. Další informace a příklady najdete v tématu MLflow pro životní cyklus generativního AI agenta a modelu ML nebo v dokumentaci k rozhraní API MLflow R.

Vývojářské nástroje jazyka R

Kromě poznámkových bloků Azure Databricks můžete použít také tyto nástroje pro vývojáře používající jazyk R:

Přizpůsobení relace R

Ve službě Databricks Runtime 12.2 LTS a novějších je možné relace jazyka R přizpůsobit pomocí profilových souborů pro celé prostředí (.Rprofile). Poznámkové bloky jazyka R načtou soubor jako kód R při spuštění. Chcete-li soubor upravit, vyhledejte hodnotu R_HOME a upravte $R_HOME/etc/Rprofile.site. Všimněte si, že Databricks přidal do souboru konfiguraci, aby se zajistily správné funkce hostovaného RStudio v Azure Databricks. Odebrání některé z těchto možností může způsobit, že RStudio nebude fungovat podle očekávání.

V Databricks Runtime 11.3 LTS a nižších lze toto chování povolit nastavením proměnné prostředí DATABRICKS_ENABLE_RPROFILE=true.

Další materiály