[SQL Server][R Language]In-Database R(一)安裝

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)

沒錯,是2016Release 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)