Data Analysis/R
[R] R 배치 프로그램
불탄오징어
2016. 1. 7. 11:59
이것도 내가 찾고 싶을 때 찾아보게 기록해두는 간단한 팁.
R을 이용해서 분석을 수행하고 알고리즘이 확정되면 배치를 통해 주기적으로 수행이 필요한데 보통 bat 파일을 생성한 후 이것을 윈도우 Job Scheduler에 등록하여 운영한다.
(다른 사람들은 어찌할려나 'ㅅ');
일단 간단한 R 코드는 다음과 같다.
# configuration root.directory <- '[경로를 써준다.]'; # Library library(log4r) # Logging용 Package # Logging 경로 및 파일 설정 logger.main <- create.logger( logfile = paste(root.directory, 'logs\\server_', format(Sys.Date(), format="%Y-%m-%d"), '.log', sep = ''), level = 'INFO'); # 시작 시점을 Logging start.time <- Sys.time(); info(logger.main, ": Starting Batch ") # 외부 Arguments를 받아 처리한다. args <- commandArgs(trailingOnly = FALSE) print(args) arg1 <- as.character(args[length(args)]) info(logger.main, paste("arg1 =", arg1)) # 종료 시점을 Logging end.time <- Sys.time(); info(logger.main, paste("Executed time : ", end.time - start.time))
그리고 배치프로그램은 다음과 같다..
cd [Rscript 경로] Rscript main.r %1 > main.out
%1은 배치프로그램 뒤에 입력받은 외부인자로 설정했다. R 프로그램 상에 Logging을 하고 있지만 Logging 자체에 에러가 발생할 경우를 대비하여 실행결과를 출력하도록 main.out을 설정했다.