磚R的開發人員

本節提供了一個指導發展的筆記本,在磚使用R語言的工作。

開始的基本工作流程是:

  1. 導入代碼:從文件中導入您自己的代碼或者Git回購或試一試下麵列出的教程。磚建議使用交互式學習磚筆記本。

  2. 一個集群上運行您的代碼:要麼自己創建一個集群,或者確保你有權限使用一個共享的集群。附上你的筆記本到集群,並運行筆記本。

除此之外,可以拓展到更具體的主題:

教程

下麵的教程提供了示例代碼和筆記本學習常見的工作流。看到導入一個筆記本筆記本的例子說明導入到您的工作區。

參考

以下部分列出關鍵特性和技巧來幫助你開始開發與R磚。

磚支持兩種api提供一個R接口Apache火花:SparkRsparklyr

SparkR

這些文章提供介紹和參考SparkR。SparkR R是一個Apache火花,它提供了一個分布式數據接口框架實現。SparkR支持操作,比如選擇、過濾和聚合(類似於R數據幀),但在大型數據集。

sparklyr

本文提供了一個介紹sparklyr。sparklyr R界麵類似於Apache火花提供了功能dplyr,掃帚,DBI

比較SparkR和sparklyr

本文解釋了關鍵SparkR和sparklyr之間的異同。

SparkR和sparklyr DataFrames和工作表

本文描述了如何使用R, SparkR sparklyr,和dplyr與R data.frames, DataFrames火花,火花在磚表。

管理代碼與筆記本和磚回購

筆記本電腦支持r .這些筆記本提供Jupyter的功能相似,但隨著添加如內置使用大數據可視化,Apache火花集成調試和性能監控、機器學習和MLflow集成跟蹤實驗。開始的導入一個筆記本。一旦你獲得一個集群,你可以附加一個筆記本集群和運行筆記本

回購允許用戶同步筆記本和其他文件和Git存儲庫。磚回購有助於代碼版本控製和協作,它可以簡化代碼的完整存儲庫導入數據磚,查看過去的筆記本版本,與IDE集成開發。開始的克隆一個偏遠的Git存儲庫。您可以打開或創建筆記本存儲庫的克隆,把筆記本一個集群,運行筆記本

集群

集群提供計算管理為單節點和大型集群。您可以自定義集群硬件和庫根據您的需要。通過數據科學家通常會開始工作創建一個集群或使用現有的共享的集群。一旦你獲得一個集群,你可以附加一個筆記本集群或運行工作在集群上。

單節點和分布式R

磚集群由一個Apache的火花司機節點和零個或更多的火花工人(也稱為遺囑執行人)節點。司機節點維護連接筆記本狀態,維護SparkContext,筆記本和庫命令進行解釋,並引發主坐標與火花執行人。工作者節點運行火花執行人,一個火花人均執行器節點。

一個單獨的節點集群節點有一個司機,沒有工人節點,與火花在本地模式下運行支持訪問表由磚。單節點集群支持RStudio、筆記本、圖書館DBFS和R項目是有用的,不依賴於火花大數據或並行處理。看到單節點集群

數據大小,R鬥爭過程(許多g或pb),你應該使用多個節點或分布式集群。分布式集群有一個司機節點和一個或多個工作節點。分布式集群支持不僅RStudio,筆記本,圖書館,和DBFS,但R包SparkR和sparklyr等都是獨特設計的分布式集群通過使用SparkContext。這些包提供熟悉的SQL和DataFrame api,使分配和運行各種火花在工作節點上並行任務和命令。了解更多關於sparklyr SparkR,明白了比較SparkR和sparklyr

一些SparkR和sparklyr功能特定的利用分配相關工作的工人節點包括以下:

  • sparklyr: spark_applyR:運行任意代碼在一個集群規模。使用功能,這是特別有用的是隻有在R, R或包不可以在Apache火花和其他引發包。

  • SparkR::有斑紋的:指定的函數適用於每個分區SparkDataFrame

  • SparkR: dapplyCollect:指定的函數適用於每個分區SparkDataFrame並收集結果返回給R作為data.frame

  • SparkR:新聞出版總署:組SparkDataFrame通過使用指定的列和指定R函數適用於每組。

  • SparkR: gapplyCollect:組SparkDataFrame通過使用指定的列,指定R函數適用於每個小組,收集回R作為結果data.frame

  • SparkR: spark.lapply:運行指定的函數的列表元素,分布計算與火花。

有關示例,請參見筆記本在火花分布式R:用戶定義的函數

磚容器服務

磚容器服務允許您指定一個碼頭工人形象當您創建一個集群。磚提供了databricksruntime / rbase圖像基於碼頭工人樞紐為例,啟動與R的磚容器服務集群的支持。看到也Dockerfile用於生成這個基地的形象。

使用磚磚集群運行時,它提供了開箱即用的許多流行的庫,包括Apache火花,三角洲湖等等。你也可以安裝其他第三方或自定義R包進入圖書館使用筆記本電腦和工作。

從默認的圖書館磚運行時。使用介紹磚運行時機器學習對機器學習的工作負載。預先安裝的庫的完整列表,請參閱“R庫安裝”部分為目標數據磚運行時磚的運行時版本

您可以定製您的環境使用Notebook-scoped R庫,它允許您修改您的筆記本電腦或工作環境庫從凹口或其他存儲庫。要做到這一點,您可以使用熟悉的install.packages函數跑龍套。下麵的示例安裝箭頭R包從默認的凹口庫:

install.packages(“箭頭”)

如果你需要一個舊版本比磚中運行時,您可以使用一個筆記本install_version函數devtools。下麵的示例安裝dplyr從凹口0.7.4版本:

需要(devtools)install_version(=“dplyr”,版本=“0.7.4”,回購=“http://cran.r-project.org”)

包安裝這種方式可以在一個集群。作用域的用戶安裝他們。這使您可以安裝多個版本的相同的包在同一個計算不創建包衝突。

你可以安裝其他的庫集群庫根據需要,例如從凹口。為此,在集群的用戶界麵,點擊庫>安裝新的>凹口並指定庫的名字。這種方法尤其重要,當你想使用SparkR或sparklyr調用用戶定義函數。

更多細節,請參閱

安裝一個定製包為一個庫:

  1. 從命令行構建自己的定製包或通過使用RStudio

  2. 使用磚CLI(遺留)定製包複製文件從您的開發機器到DBFS為你的磚工作區。

    例如:

    磚fs cp /地方/道路/ /包/ <定製包> . tar。廣州dbfs: / / /瀝青/文件/路徑

    前麵的例子適用於磚CLI 0.200及以上版本。

  3. 通過運行定製包安裝到一個圖書館install.packages

    例如,從一個筆記本在工作區:

    install.packages(包裹=“/ dbfs /道路/ /瀝青/文件/ <定製包> gz”,類型=“源”,回購=)

    或者:

    % sh R CMD / dbfs /道路/安裝/瀝青/文件/ <定製包> gz

當你安裝一個自定義的包進入圖書館DBFS,您可以添加的庫搜索路徑,然後用一個命令加載庫。

例如:

#庫添加到搜索路徑。.libPaths(c(“/ dbfs /道路/ /瀝青/文件/”,.libPaths()))#加載庫。您不需要將庫添加到搜索路徑。圖書館(<自定義- - - - - ->)

安裝一個自定義的包作為一個圖書館每一個節點在一個集群中,您必須使用init腳本是什麼?

可視化

磚R的筆記本支持各種類型的可視化使用顯示函數。

工作

你可以自動化R如期工作負載或引發了筆記本創建和運行數據磚的工作在磚。

  • 通過UI有關創建工作的詳細信息,明白了創建一個工作

  • 喬布斯API允許您創建、編輯和刪除工作。

  • 磚CLI提供了一個方便的命令行接口API調用的工作。

機器學習

磚支持多種機器學習(ML)工作負載,包括傳統ML表格數據,深度學習計算機視覺和自然語言處理,推薦係統中,圖形分析等等。關於機器學習的一般信息在磚上,看到的介紹磚機器學習

對於ML算法,您可以使用預先安裝的庫中介紹磚運行時機器學習。你也可以安裝自定義庫

對機器學習操作(MLOps),磚提供了一個開源庫MLflow托管服務。MLflow跟蹤讓您記錄模型開發和保存模型可重用的格式;的MLflow模型注冊允許您管理和自動化模型對生產的促進;和工作模型服務,允許托管模型作為批處理和流媒體工作REST端點。的更多信息和示例,請參見MLflow指南或者是MLflow R API文檔

R開發工具

除了磚筆記本外,您還可以使用以下R開發工具:

R會話定製

在磚運行時的12.0及以上,R會話可以定製使用全站配置文件(.Rprofile)文件。筆記本將源文件作為R在啟動代碼。修改文件,找到的價值R_HOME和修改美元R_HOME / etc / Rprofile.site。注意,磚增加了配置文件,以確保適當的托管功能RStudio磚上。移除任何可能導致RStudio不像預期的那樣工作。

在磚運行時11.3及以下,這種行為可以通過設置環境變量DATABRICKS_ENABLE_RPROFILE = true

額外的資源