Azure 的 R 開發人員指南

R 標誌

由於要處理的資料數量不斷增加,許多資料科學家想盡辦法來利用雲端運算的能力以便完成其分析工作。 本文概述各種方式,讓資料科學家能夠在 Azure 中對 R 程式設計語言使用其現有技術。

Microsoft 已完全採用 R 程式設計語言作為資料科學家的頂級工具。 藉由提供許多不同的選項供 R 開發人員在 Azure 中執行其程式碼,該公司讓資料科學家能夠在解決大規模專案時,將其資料科學工作負載延伸到雲端。

讓我們檢查一下各種選項以及其各自最受矚目的案例。

具有 R 語言支援的 Azure 服務

本文涵蓋下列可支援 R 語言的 Azure 服務:

服務 描述
資料科學虛擬機器 自訂 VM,可作為資料科學工作站或作為自訂計算目標
HDInsight 上的 ML 服務 叢集式系統,可對跨許多節點的大型資料集執行 R 分析
Azure Databricks 支援 R 和其他語言的共同作業 Spark 環境
Azure Machine Learning 您用來定型、部署、自動化和管理機器學習模型的雲端服務
Azure Batch 提供各種不同選項,以便以經濟實惠的方式跨叢集中的許多節點執行 R 程式碼
Azure SQL 受控執行個體 在 SQL Server 資料庫引擎內執行 R 和 Python 指令碼

資料科學虛擬機器

資料科學虛擬機器 (DSVM) 是 Microsoft Azure 雲端平台上的自訂 VM 映像,專為進行資料科學建置。 其具有許多熱門的資料科學工具,包括:

DSVM 可以搭配 Windows 或 Linux 作業系統來佈建。 您可以透過兩種不同的方式使用 DSVM:作為自訂叢集的互動式工作站或計算平台。

作為工作站

如果您想要在雲端中快速且輕鬆地開始使用 R,這是您的最佳選擇。 已在本機工作站上使用過 R 的人會相當熟悉此環境。 不過,R 環境不會使用本機資源,而是會在雲端 VM 上執行。 如果您的資料已儲存在 Azure 中,這會有額外的好處,那就是可讓 R 指令碼「更接近資料」來執行。您不必跨越網際網路傳輸資料,而是可以透過 Azure 的內部網路存取資料,以獲得快上取多的存取速度。

DSVM 特別適用於小型的 R 開發人員團隊。 您不必為每位開發人員投資功能強大的工作站,團隊成員也不必將他們所會使用的各種軟體套件版本同步,每位開發人員都可以在需要時立即啟動 DSVM 執行個體。

作為計算平台

除了作為工作站,DSVM 也可作為適用於 R 專案的可彈性調整計算平台。 使用 AzureDSVM R 套件,您就可以透過程式設計方式控制 DSVM 執行個體的建立和刪除。 您可以將執行個體組成叢集,並部署要在雲端執行的分散式分析。 這整個程序可以由本機工作站上所執行的 R 程式碼來控制。

若要深入了解 DSVM,請參閱適用於 Linux 和 Windows 的 Azure 資料科學虛擬機器簡介

HDInsight 上的 ML 服務

Microsoft ML 服務可讓資料科學家、統計學家以及 R 程式設計人員隨其所需存取 HDInsight 上可調整大小的分散式分析方法。 此解決方案所提供的最新功能,適用於幾乎任何大小的資料集上進行之以 R 為基礎的分析,且不論資料集是載入到 Azure Blob 或 Data Lake 儲存體。

這是企業級解決方案,可讓您跨叢集調整 R 程式碼。 藉由使用 Microsoft RevoScaleR 套件中的函式,您在 HDInsight 上的 R 指令碼可以跨叢集中的許多節點平行執行資料處理函式。 這可讓 R 處理更大規模的資料,在工作站上執行的單一執行緒 R 就做不到這一點。

這項調整能力讓 HDInsight 上的 ML 服務成為絕佳選項,可讓 R 開發人員處理大規模資料集。 其提供彈性且可擴充的平台供您在雲端中執行 R 指令碼。 如需建立 ML 服務叢集的逐步解說,請參閱 開始使用 Azure HDInsight 上的 ML 服務

Azure Databricks

Azure Databricks 是一個針對 Microsoft Azure 雲端服務平台進行最佳化的 Apache Spark 分析平台。 Databricks 由 Apache Spark 的創立者所設計,可與 Azure 整合,提供一鍵式設定、順暢的工作流程以及互動式的工作區,可讓資料科學家、資料工程師及企業分析師共同作業。

平台的 Notebook 系統會啟用 Databricks 中的共同作業功能。 使用者可以和系統內的其他使用者建立、共用和編輯 Notebook。 這些 Notebook 可讓使用者撰寫程式碼,以針對 Databricks 環境中所管理的 Spark 叢集來執行。 這些 Notebook 完全支援 R,並可讓使用者透過 SparkRsparklyr 套件存取 Spark。

因為 Databricks 建置在 Spark 之上,而且特別著重於共同作業,所以資料科學家團隊通常會使用此平台來共同處理複雜的大型資料集分析。 由於 Databricks 中的 Notebook 不僅支援 R 也支援其他語言,所以特別適用於分析師會使用不同語言來進行其主要工作的團隊。

何謂 Azure Databricks?一文可提供更多有關平台的詳細資料,並協助您開始使用。

Azure Machine Learning

Azure Machine Learning 可用於任何一種機器學習 - 從傳統機器學習到深度學習、受監督和不受監督的學習。 無論您想要撰寫 Python 或 R 程式碼或使用零程式碼/低程式碼選項 (例如設計工具),都可以在 Azure Machine Learning 工作區中建立、定型和追蹤高精確度的機器學習和深度學習模型。

開始訓練您的本機電腦,然後向外擴增到雲端。 立即使用 Azure Machine Learning 以 R 定型您的第一個模型

Azure Batch

對於大規模的 R 作業,您可以使用 Azure Batch。 此服務可提供雲端級別的作業排程和計算管理,讓您可以跨數十個、數百個或數千個虛擬機器調整 R 工作負載。 因為它是一般化的運算平台,所以有幾個選項可供您在 Azure Batch 上執行 R 作業。

其中一個在 Azure Batch 中執行 R 指令碼的選項,是在 Azure 入口網站中將程式碼與 "RScript.exe" 組合成 Batch 應用程式。 如需詳細的逐步解說,請參閱 Azure Batch 上的 R 工作負載

另一個選項是使用 Azure 分散式資料工程工具組 (AZTK),其可讓您使用 Azure Batch 中的 Docker 容器佈建隨選 Spark 叢集。 這可讓您以經濟實惠的方式在 Azure 中執行 Spark 作業。 藉由搭配使用 SparklyR 與 AZTK,便可在雲端中以輕鬆且經濟實惠的方式相應放大 R 指令碼。

Azure SQL 受控執行個體

Azure SQL 受控執行個體是 Microsoft 的智慧型可調整雲端資料庫服務。 它可讓您使用 SQL Server 的完整功能,而不需要麻煩地設定基礎結構。 這包括機器學習服務,其包含適用於高效能預測性分析和機器學習的 Microsoft R 和 Python 套件。

機器學習服務會提供內嵌的預測性分析和資料科學引擎,可在 SQL Server 資料庫內執行 R/Python 程式碼。 您不必從資料庫擷取資料並將資料載入到 R/Python 環境,而是可以將 R/Python 程式碼直接載入到資料庫,並讓其直接與資料一起執行。 關聯式資料可作為包含 R/Python 陳述式的 T-SQL 指令碼,或作為包含 T-SQL 的 R/Python 程式碼來用於預存程序中。

雖然機器學習服務自 2016 年起就已成為內部部署 SQL Server 的一部分,但對於 Azure SQL 受控執行個體來說,這還是相當新的功能。

參與者

本文由 Microsoft 維護。 它原本是由下列參與者所撰寫。

主體作者:

若要查看非公用LinkedIn設定檔,請登入 LinkedIn。

後續步驟


R 標誌是 © 2016 The R Foundation,係依據 Creative Commons Attribution-ShareAlike 4.0 國際授權的條款來使用。