R語言以及Python是資料科學工作中常用的兩把利劍,兩者在資料分析、機器學習上都是很棒的武器,去年微軟在SQL Server 2016把R語言整合進平台,就在今年,即將推出的SQL Server 2017也將把Python整合進資料平台了,此外,這一次也同時把R Services重新命名為Machine Learning服務來呼應這次的整合與原有R機器學習套件的升級,不久的將來,Python常用的scikit-learn、TensorFlow及keras套件也能直接執行在SQL Server內了,今天我們先來安裝RC2版本環境。
SQL Server 2017 RC2下載
從MSDN訂閱下載8月2號推出的RC2版本(RTM前的最終測試版本)
相較rc1,這次rc2檔案大小增加了8KB
SQL Server 2017 RC2安裝
點選安裝檔案setup.exe
選安裝 >> 新增SQL Server 獨立安裝
目前是RC2,所以是180天試用版
勾選我接受授權條款,然後下一步
執行全新安裝
選擇資料庫引擎服務、Machine Learning服務(資料庫內) R、Python
…
…
同意安裝Microsoft R Open
同意安裝Anaconda(森蚺,也算是蟒蛇的一種),是Python所提供的資料科學平台
確認好安裝摘要後按下安裝
安裝程式最重要的一步,安裝完成!
好的,把SQL Server 2017 RC2以及Machine Learning Service都安裝好了,用T-SQL來寫幾行R和Python的程式碼來確認R和Python的執行環境。
開啟external scripts
在執行R或是Python之前,我們首先要開啟external scripts
EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
設定完成後,重新啟動SQL Server服務
查詢R和Python的版本資訊
R
EXEC sp_execute_external_script @language =N'R',
@script=N'
print(R.Version()$version.string)
',
@input_data_1 =N''
GO
執行結果: 3.3.3
Python
EXEC sp_execute_external_script @language =N'Python',
@script=N'
import sys
import os
print(sys.version)
',
@input_data_1 =N''
GO
執行結果: 3.5.2
兩者版本和RC1時相同,已測試好的套件應該safe..
小結
- 雖然用T-SQL把R或是Python的程式碼以字串格式放到預存程序不太容易debug,常常要用print函數看輸出,但也因為借重R和Python的豐富package,在這個資安就是國安的時代,我們不用四處移動資料就能就近在資料庫內探索資料的輪廓、從結構建立模型。
- 假設程式很長,還是可以先使用IDE(Visual Studio、R Studio或Jupyter),製作少量的sample資料寫程式,測試完成後再包成Package,讓SQL預存程序執行。
- AP程式能與機器學習更緊密的結合。
參考