Created by 솔루션사업팀


MSSQL 2016에서 external scripts를 이용한 R 스크립트 실행 프로시저 예제를 만들어 보았습니다.

MSSQL 2016은 Windows 10 이상에서만 설치가 가능합니다.

external scripts를 사용으로 옵션을 변경한 후 SQL을 이용하여 R 스크립트를 실행 테스트를 해 보았습니다.

또한 R 스크립트에 DB의 테이블에 데이터를 매개변수를 이용해 Input 하거나 R에서 처리 결과를 Output 한것도 테스트가 잘 되었습니다.

R에서 생성된 Plot도 바이너리로 SQL로 output 가능한것을 테스트 해 보았습니다.

마지막으로 R 스크립트 내에서 다양한 Package library를 이용하여 테스트도 잘 되었습니다.

외부 스크립트를 사용해 보자

Exec sp_configure  'external scripts enabled', 1
Reconfigure  with  override
--SQL Server Restart
Exec sp_configure  'external scripts enabled'

외부 스크립트가 잘 실행되는지 확인해 보자

exec sp_execute_external_script  @language =N'R',
@script=N'OutputDataSet<-InputDataSet',
@input_data_1 =N'select 1 as hello'
with result sets (([hello] int not null));
go

DB에 table를 생성해 보자

CREATE TABLE MyData ([Col1] int not null) ON [PRIMARY]
INSERT INTO MyData   VALUES (1);
INSERT INTO MyData   Values (10);
INSERT INTO MyData   Values (100) ;
GO
SELECT * from MyData