什麼是使用 Python 和 R 的 SQL Server 機器學習服務?

適用于:SQL Server 2017 (14.x) 和更新版本 Azure SQL 受控執行個體

機器學習服務是 SQL Server 內的一項功能,能夠使用關聯式資料執行 Python 和 R 指令碼。 您可以使用開放原始碼套件和架構,以及 Microsoft Python 和 R 套件,來進行預測性分析與機器學習。 指令碼會在資料庫中執行,不需在 SQL Server 外部或透過網路來移動資料。 本文說明 SQL Server 機器學習服務的基本概念,以及如何開始。

注意

機器學習服務也適用于Azure SQL 受控執行個體。 如需其他 SQL 平台上的機器學習,請參閱 SQL 機器學習文件

注意

機器學習服務也適用于Azure SQL 受控執行個體。 如需其他 SQL 平台上的機器學習,請參閱 SQL 機器學習文件

若要在 SQL Server 中執行 Java,請參閱 Java 語言延伸模組文件

如需在 SQL Server 中執行 C#,請參閱C# 語言延伸模組檔

在 SQL Server 中執行 Python 和 R 指令碼

SQL Server 機器學習服務,可讓您在資料庫中執行 Python 和 R 指令碼。 您可以使用此服務來準備和清除資料、進行特徵工程,然後在資料庫內訓練、評估,以及部署機器學習模型。 此功能可讓您在資料所在的位置執行指令碼,而無須透過網路將資料傳輸至另一部伺服器。

您可以使用預存程序 sp_execute_external_script,在 SQL Server 執行個體上執行 Python 和 R 指令碼。

機器學習服務包含了 Python 和 R 的基本發行版。 除了 Microsoft 套件以外,您還可以安裝並使用開放原始碼套件和架構,例如 PyTorch、TensorFlow 和 scikit-learn。

機器學習服務使用擴充性架構,以在 SQL Server 中執行 Python 和 R 指令碼。 深入了解運作方式:

開始使用機器學習服務

  1. WindowsLinux 上安裝 SQL Server 機器學習服務。 您也可以使用巨量資料叢集的機器學習服務Azure SQL 受控執行個體中的機器學習服務

  2. 設定您的開發工具。 您可以在 Azure Data Studio 筆記本中使用和執行 Python 和 R 指令碼。 也可以在 Azure Data Studio 中執行 T-SQL。

  3. 撰寫您的第一個 Python 或 R 指令碼。

  1. 在 Windows 上安裝 SQL Server 機器學習服務

  2. 設定您的開發工具。 您可以在 Azure Data Studio 筆記本中使用和執行 Python 和 R 指令碼。 也可以在 Azure Data Studio 中使用 T-SQL。

  3. 撰寫您的第一個 Python 或 R 指令碼。

Python 和 R 版本

以下列出機器學習服務中所包含的 Python 與 R 版本。

SQL Server 版本 累計更新 Python 執行階段版本 R 執行階段版本
SQL Server 2022* RTM 和更新版本 3.10.2 4.2.0
SQL Server 2019 RTM 和更新版本 3.7.1 3.5.2
SQL Server 2017 CU22 和更新版本 3.5.2 和 3.7.2 3.3.3 和 3.5.2
SQL Server 2017 RTM - CU21 3.5.2 3.3.3
SQL Server 2016 請參閱 R 版本

* 如需支援的 R 和 Python 版本和 RevoScaleR 和 revoscalepy 套件,請參閱在 Linux 上安裝 SQL Server 2022 機器學習服務 (Python 和 R) ,或在Linux 上安裝 SQL Server Machine Learning Services (Python 和 R)

Python 和 R 套件

除了 Microsoft 的企業套件之外,您還可以使用開放原始碼套件和架構。 最常見的開放原始碼 Python 和 R 套件都已預先安裝在機器學習服務中。

注意

從 SQL Server 2022 (16.x) 開始,R、Python 和 JAVA 的執行時間將不再隨 SQL 安裝程式一起安裝。 相反地,請安裝所需的 R 和/或 Python 自訂執行時間, () 和 套件。 如需詳細資訊,請參閱在 Windows 上安裝 SQL Server 2022 機器學習服務在 Linux 上安裝 SQL Server Machine Learning Services (Python 和 R)

下列來自 Microsoft 的 Python 和 R 套件也會包含在安裝時:

Language Package 描述
Python revoscalepy 可調整 Python 的主要套件。 資料轉換與操作、統計摘要、視覺化,以及許多模型化形式。 此外,此套件中的函式會自動在可用的核心之間分配工作負載來進行平行處理。
Python microsoftml 僅適用于 SQL Server 2016、SQL Server 2017 和 SQL Server 2019。 新增機器學習演算法來建立自訂模型,以進行文字分析、影像分析及情感分析。
R RevoScaleR 可調整 R 的主要套件。資料轉換與操作、統計摘要、視覺化,以及許多模型化形式。 此外,此套件中的函式會自動在可用的核心之間分配工作負載來進行平行處理。
R MicrosoftML (R) 僅適用于 SQL Server 2016、SQL Server 2017 和 SQL Server 2019。 新增機器學習演算法來建立自訂模型,以進行文字分析、影像分析及情感分析。
R olapR 僅適用于 SQL Server 2016、SQL Server 2017 和 SQL Server 2019。 用於針對 SQL Server Analysis Services OLAP cube 執行 MDX 查詢的 R 函式。
R sqlrutils 僅適用于 SQL Server 2016、SQL Server 2017 和 SQL Server 2019。 一種機制,可在 T-SQL 預存程序中使用 R 指令碼、向資料庫註冊該預存程序,然後從 R 開發環境中執行該預存程序。
R Microsoft R Open 僅適用于 SQL Server 2016、SQL Server 2017 和 SQL Server 2019。 Microsoft R Open (MRO) 是 Microsoft 所提供的 R 加強發行版。 其為一個適用於統計分析與資料科學的完整開放原始碼平台, 並以 R 為基礎而且與其 100% 相容,且包含可提升效能和重現性的額外功能。

如需機器學習服務安裝了哪些套件,以及如何安裝其他套件的詳細資訊,請參閱:

後續步驟