R開發人員的數據庫
本節提供使用R語言在Databricks中開發筆記本和作業的指南。
入門的基本工作流程是:
導入代碼:從文件或Git回購中導入自己的代碼,或嚐試下麵列出的教程。Databricks建議使用交互式的Databricks筆記本學習。
在集群上運行代碼:創建自己的集群,或者確保您擁有使用共享集群的權限。將筆記本連接到集群,並運行筆記本。
除此之外,你還可以拓展到更具體的話題:
參考
下麵的小節列出了幫助您開始用R開發Databricks的關鍵特性和技巧。
Databricks支持兩種api,為Apache Spark提供R接口:SparkR而且sparklyr.
SparkR
這些文章提供了一個介紹和參考SparkR.SparkR是Apache Spark的R接口,提供分布式數據幀實現。SparkR支持選擇、過濾和聚合(類似於R數據幀)等操作,但適用於大型數據集。
使用SparkR和sparklyr處理DataFrames和表
本文介紹如何使用R、SparkR、sparklyr和dplyr來處理R data.frames、Spark DataFrames和Databricks中的Spark表。
使用筆記本和Databricks Repos管理代碼
磚筆記本電腦這些筆記本提供了類似於Jupyter的功能,但增加了諸如使用大數據的內置可視化,用於調試和性能監控的Apache Spark集成,以及用於跟蹤機器學習實驗的MLflow集成。從以下開始導入筆記本電腦.一旦您可以訪問集群,您就可以附上筆記本到集群和運行筆記本.
磚回購允許用戶將筆記本和其他文件與Git存儲庫同步。Databricks Repos有助於代碼版本控製和協作,它可以簡化將完整的代碼存儲庫導入Databricks,查看過去的筆記本版本,並與IDE開發集成。從以下開始克隆遠程Git存儲庫.然後你可以打開或創建筆記使用存儲庫克隆,附上筆記本到集群,和運行筆記本.
集群
磚集群為單個節點和大型集群提供計算管理。您可以根據需要定製集群硬件和庫。數據科學家通常會從創建集群或者使用現有的共享的集群.一旦您可以訪問集群,您就可以附上筆記本到集群或運行作業集群上。
Databricks容器服務
Databricks容器服務允許您在創建集群時指定Docker映像。Databricks提供databricksruntime / rbase以Docker Hub上的base image為例,啟動支持R的Databricks Container Services集群。另請參閱Dockerfile用於生成基本圖像。
庫
Databricks集群使用Databricks Runtime,後者提供了許多開箱即用的流行庫,包括Apache Spark、Delta Lake等等。您還可以在庫中安裝額外的第三方或自定義R包,以便與筆記本和作業一起使用。
中的默認庫開始磚運行時.使用Databricks運行時機器學習用於機器學習工作負載。有關預安裝庫的完整列表,請參閱目標Databricks Runtime的“已安裝R庫”部分Databricks運行時發布.
您可以使用筆記本範圍的R庫,它允許您使用CRAN或其他存儲庫中的庫修改您的筆記本或工作環境。要做到這一點,你可以使用熟悉的方法install.packages函數跑龍套
.下麵的示例安裝Arrow R包從默認的CRAN存儲庫:
install.packages(“箭頭”)
如果您需要一個比Databricks Runtime中包含的版本更老的版本,您可以使用筆記本來運行install_version函數devtools
.下麵的示例安裝dplyr0.7.4版本:
需要(devtools)install_version(包=“dplyr”,版本=“0.7.4”,回購=“http://cran.r-project.org”)
以這種方式安裝的包可以在整個集群中使用。它們的作用域僅限於安裝它們的用戶。這使您可以在同一計算上安裝同一包的多個版本,而不會產生包衝突。
您可以安裝其他庫集群庫根據需要,例如從CRAN。為此,在集群用戶界麵中單擊>安裝新的> CRAN並指定庫的名稱。當您希望使用SparkR或sparklyr調用用戶定義函數時,這種方法尤其重要。
如果需要比默認CRAN回購中包含的版本更舊的版本,請在安裝庫對話框的存儲庫字段。例如,安裝dplyr
的CRAN快照URLhttps://cran.microsoft.com/snapshot/2017-09-29/
.可以通過運行packageVersion
在筆記本上的功能。例如,獲取的安裝版本dplyr
:
packageVersion(“dplyr”)# [1] '0.7.4'
詳情請參見庫.
安裝定製包進入圖書館:
從命令行或使用RStudio.
使用磚CLI將自定義包文件從開發機器複製到DBFS用於您的Databricks工作區。
例如:
Databricks fs cp /local/path/to/package/
.tar.gz dbfs:/path/to/tar/file/ 運行將自定義包安裝到庫中
install.packages
.例如,在你工作空間的筆記本上:
install.packages(包裹=“/ dbfs /道路/ /瀝青/文件/ < custom_package > gz”,類型=“源”,回購=零)
或者:
%sh R CMD INSTALL /dbfs/path/to/tar/file/
.tar.gz .gz . sh命令
在DBFS中的庫中安裝自定義包後,可以將庫添加到搜索路徑,然後用一個命令加載庫。
例如:
#將庫添加到搜索路徑一次。.libPaths(c(“/ dbfs /道路/ /瀝青/文件/”,.libPaths()))#加載庫。您不需要再次將庫添加到搜索路徑。圖書館(<custom_package>)
將自定義包作為庫安裝在每一個集群中的節點,必須使用集群節點初始化腳本.
工作
您可以自動工作負載調度或觸發筆記本創建、運行和管理Databricks作業在磚。
機器學習
Databricks支持各種各樣的機器學習(ML)工作負載,包括基於表格數據的傳統機器學習、用於計算機視覺和自然語言處理的深度學習、推薦係統、圖形分析等。有關Databricks上機器學習的一般信息,請參閱Databricks機器學習指南.
對於ML算法,可以使用中預安裝的庫Databricks運行時機器學習.你也可以安裝自定義庫.
對於機器學習操作(MLOps), Databricks為開源庫MLFlow提供了托管服務。MLflow跟蹤允許您記錄模型開發並以可重用的格式保存模型;的MLflow模型注冊表讓您管理和自動化模型的生產推廣;而且工作和模型服務,與無服務器實時推理或經典MLflow模型服務,允許托管模型作為批處理和流作業作為REST端點。有關更多信息和示例,請參見MLflow指南或者是MLflow R API文檔.