什麼是 SQL Server 2016 R Services?
適用於: 僅限 SQL Server 2016 (13.x)
R 服務是 SQL Server 2016 中的一項功能,可讓您使用關聯式資料來執行 R 指令碼。 您可以使用開放原始碼套件和架構及 Microsoft R 套件,來進行預測性分析和機器學習。 指令碼會在資料庫中執行,不需在 SQL Server 外部或透過網路來移動資料。 本文說明 SQL Server R Services 的基本概念。
注意
在 SQL Server 2017 和更新版本中,R 服務已重新命名為機器學習服務,並且同時支援 Python 與 R。
什麼是 R 服務?
SQL Server R Services 可讓您在資料庫內執行 R 指令碼。 您可以使用此服務來準備和清除資料、進行特徵工程,然後在資料庫內訓練、評估,以及部署機器學習模型。 此功能可讓您在資料所在的位置執行指令碼,而無須透過網路將資料傳輸至另一部伺服器。
R 服務中包含基礎 R 散發。 除了 Microsoft R 套件 RevoScaleR、MicrosoftML、[olapR]../r/ref-r-olapr.md) 及適用於 R 的 sqlrutils 之外,您還可以使用開放原始碼套件和架構。
R 服務使用擴充性架構在 SQL Server 中執行 R 指令碼。 深入了解運作方式:
我可以使用 R 服務來做什麼?
您可以使用 R 服務在 SQL Server 內建置機器學習和深度學習模型,並將這些模型定型。 您也可以將現有模型部署至 R 服務,並使用關聯式資料來進行預測。
您可以使用 SQL Server R Services 來進行的預測類型範例包括:
預測類型 | 範例 |
---|---|
分類 | 自動將客戶意見反應分為正面與負面類別 |
迴歸/預測連續值 | 根據大小和位置來預測房屋價格 |
異常偵測 | 偵測詐騙銀行交易 |
建議 | 根據線上顧客先前的購買,來建議他們可能想要購買的產品 |
如何執行 R 指令碼
有兩種執行 R 服務中 R 指令碼的方式:
最常見的方式是使用 T-SQL 預存程序 sp_execute_external_script。
您也可以使用慣用的 R 用戶端,然後撰寫會將執行 (稱為「遠端計算內容」) 推送至遠端 SQL Server 的指令碼。 如需詳細資訊,請參閱設定資料科學用戶端 R 開發。
R 版本
以下列出 SQL Server 2016 R Services 中包含的 R 執行階段版本。
SQL Server 版本 | 預設 R 執行階段版本 |
---|---|
SQL Server 2016 RTM - SP2 CU13 | 3.2.2 |
SQL Server 2016 SP2 CU14 和更新版本 | 3.2.2 和 3.5.2 |
SQL Server 2016 Service Pack (SP) 2 和更新版本的累積更新 (CU) 14 包含較新的 R 執行階段。 如需詳細資訊,請參閱變更預設的語言執行階段版本。
若要使用其他版本的 R 或是要執行 Python,請使用 SQL Server 2017 和更新版本的機器學習服務。
R 套件
除了 Microsoft 的企業套件之外,您還可以使用開放原始碼套件和架構。 R 服務中已預先安裝最常見的開放原始碼 R 套件。 此外,也包含下列來自 Microsoft 的 R 套件:
Package | 描述 |
---|---|
RevoScaleR | 可調整 R 的主要套件。資料轉換與操作、統計摘要、視覺化,以及許多模型化形式。 此外,此套件中的函式會自動在可用的核心之間分配工作負載來進行平行處理。 |
MicrosoftML (R) | 新增機器學習演算法來建立自訂模型,以進行文字分析、影像分析及情感分析。 |
olapR | 用於針對 SQL Server Analysis Services OLAP cube 執行 MDX 查詢的 R 函式。 |
sqlrutils | 一種機制,可在 T-SQL 預存程序中使用 R 指令碼、向資料庫註冊該預存程序,然後從 R 開發環境中執行該預存程序。 |
Microsoft R Open (已淘汰) | Microsoft R Open (MRO) 是 Microsoft 所提供的 R 加強發行版。 |
如何開始使用 R 服務?
設定您的開發工具。 您可以使用:
- Azure Data Studio 或 SQL Server Management Studio (SSMS) 以使用 T-SQL 和預存程序 sp_execute_external_script 來執行您的 R 指令碼。
- 您自己的開發筆記型電腦或工作站上的 R 來執行指令碼。 您可以使用 RevoScaleR將資料提取至本機或將執行推送到遠端給 SQL Server。 如需詳細資訊,請參閱設定資料科學用戶端 R 開發。
撰寫您的第一個 R 指令碼
- 快速入門:在 SQL Server 中建立及執行簡單的 R 指令碼
- 快速入門:在 R 中建立預測模型並加以訓練
- 教學課程:在 T-SQL 中使用 R:探索資料、執行特徵工程、訓練模型並加以部署,以及進行預測 (五部分系列)
- 教學課程:在 R 工具中使用 R 服務:探索資料、建立圖表和繪圖、執行特徵工程、訓練模型並加以部署,以及進行預測 (六部分系列)