SQL Server 2016開始內建支援R語言分析,少去中間ETL過程,程式可以直接把關聯式資料庫內整齊的資料跑統計、跑分群分組模型、跑迴歸還有跑圖,今天先把Lession 1: In-Database R裝起來。
之前使用過2種R執行環境,今天筆記第3種In-Database R,有機會再來試最後一種MicroSoft R Server。
1.R For Windows (R Studio)
2.MicroSoft R Open (RTVS R Tool Visual Studio)
3.SQL Server R Services (In-Database R)
4.MicroSoft R Server
安裝步驟msdn有,這邊筆記下載的版本還有加圖。
https://msdn.microsoft.com/en-us/library/mt696069.aspx
1.執行 SQL Server 安裝程式。
2.在 [安裝] 索引標籤上,按一下 [新增 SQL Server 獨立安裝或將功能加入至現有安裝]。
輸入產品金鑰
3.在 [特徵選取] 頁面上,選取下列選項:
- Database Engine 服務
- R Services (資料庫內)
4.接受授權條款以便下載並安裝 Microsoft R Open,其中包含開放原始碼 R 基底封裝和工具的散發,
以及來自 Revolution Analytics 的增強型 R 封裝和連接提供者。
5.在 [準備安裝] 頁面上,確認您的選項。
6.安裝完成時,您應該會看到元件的清單
您必須在安裝程序完成之後重新啟動電腦。
7.在重新啟動之前,請在 SQL Server Management Studio 執行下列命令以啟用功能。
Exec sp_configure 'external scripts enabled', 1
Reconfigure with override
8.重新啟動 SQL Server 執行個體。 這也會自動重新啟動相關的 信任的 SQL Server Launchpad 服務。
9.確認版本:
SELECT @@VERSION
SELECT @@VERSION
Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64)
Apr 29 2016 23:23:58
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit)
沒錯,是2016是Release to Manufacturing。
10.試試看初統的基礎(平均數、標準差、變異數)
--(1)加法算術
execute sp_execute_external_script
@language = N'R'
, @script = N' mysum <- sum(1:10);
OutputDataSet <- data.frame(mysum);'
, @input_data_1 = N''
WITH RESULT SETS (([col] int NOT NULL));
1到10的加總結果:55
--(2)平均值(Means value, μ)
execute sp_execute_external_script
@language = N'R'
, @script = N' mysum <- mean(1:10);
OutputDataSet <- data.frame(mysum);'
, @input_data_1 = N''
WITH RESULT SETS (([col] int NOT NULL));
1到10的平均值
--(3)標準差(Standard Deviation, σ)
execute sp_execute_external_script
@language = N'R'
, @script = N' mysum <- sd(1:10);
OutputDataSet <- data.frame(mysum);'
, @input_data_1 = N''
WITH RESULT SETS (([col] int NOT NULL));
1到10的標準差
--(4)變異數(Variance, σ^2)
execute sp_execute_external_script
@language = N'R'
, @script = N' mysum <- var(1:10);
OutputDataSet <- data.frame(mysum);'
, @input_data_1 = N''
WITH RESULT SETS (([col] int NOT NULL));
變異數=標準差平方
到這邊我們可以確認一件事,In-Database R 應該有安裝成功。
參考:
Set up SQL Server R Services (In-Database)
sp_execute_external_script (Transact-SQL)