什麼是使用 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 指令碼。 深入了解運作方式:
開始使用機器學習服務
在 Windows 或 Linux 上安裝 SQL Server 機器學習服務。 您也可以使用巨量資料叢集的機器學習服務和 Azure SQL 受控執行個體中的機器學習服務 。
設定您的開發工具。 您可以在 Azure Data Studio 筆記本中使用和執行 Python 和 R 指令碼。 也可以在 Azure Data Studio 中執行 T-SQL。
撰寫您的第一個 Python 或 R 指令碼。
設定您的開發工具。 您可以在 Azure Data Studio 筆記本中使用和執行 Python 和 R 指令碼。 也可以在 Azure Data Studio 中使用 T-SQL。
撰寫您的第一個 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 套件的支援版本,請參閱安裝 Windows 上的 SQL Server 2022 機器學習服務 (Python 與 R) ,或安裝 Linux 上的 SQL Server 機器學習服務 (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 機器學習服務 (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 加強發行版。 |
如需機器學習服務安裝了哪些套件,以及如何安裝其他套件的詳細資訊,請參閱:
後續步驟
- 在 Windows 或 Linux 上安裝 SQL Server 機器學習服務
- SQL 機器學習的 Python 教學課程
- SQL 機器學習的 R 教學課程