Azure 的 R 開發人員指南


R 標誌是© 2016 R Foundation,並在 創意 Commons Attribution-ShareAlike 4.0 國際授權條款下使用。

由於要處理的資料數量不斷增加,許多資料科學家想盡辦法來利用雲端運算的能力以便完成其分析工作。 本文概述各種方式,讓資料科學家能夠在 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 Services 叢集的逐步解說,請參閱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 腳本的其中一個選項,是將您的程式碼與 "RScript.exe" 組合成 Azure 入口網站中的批次應用程式。 如需詳細的逐步解說,請參閱 Azure Batch 上的 R 工作負載

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

Azure SQL 受控執行個體

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

機器學習 Services 提供內嵌、預測性分析和資料科學引擎,可在 SQL Server 資料庫中執行 R/Python 程式碼。 您可以直接將 R/Python 程式碼載入資料庫,並讓它與資料一起執行,而不是從資料庫中解壓縮資料並將其載入 R/Python 環境中。 關聯式資料可以在預存程式中使用,做為包含 r/python 語句的 T SQL 腳本,或作為包含 T SQL 的 r/python 程式碼。

雖然機器學習服務在2016年以來都是內部部署 SQL Server 的一部分,但它對 Azure SQL 受控執行個體是相當新的。

下一步