Поделиться через


InputData: входные данные для хранимой процедуры SQL: генератор классов

InputData создает объект InputData, записывающий сведения о входном параметре, который является кадром данных. Кадр данных необходимо заполнить после выполнения данного запроса. Этот объект необходим для создания хранимых процедур, в которых встроенная функция R принимает входной параметр кадра данных.

Использование

  InputData(name, defaultQuery = NULL, query = NULL)

Аргументы

name

Строка символов, имя параметра ввода данных в функцию R, передаваемую в StoredProcedure.

defaultQuery

Строка символов, определяющая запрос по умолчанию, который будет извлекать данные, если во время выполнения хранимой процедуры не предоставлен другой запрос. Это должен быть простой запрос SELECT.

query

Символьная строка, указывающая запрос, который будет использоваться для получения данных в следующем запуске хранимой процедуры.

Значение

Объект InputData

Примеры


 ## Not run:

 # See ?StoredProcedure for creating the "cleandata" table.

 # train 1 takes a data frame with clean data and outputs a model
 train1 <- function(in_df) {
   in_df[,"DayOfWeek"] <- factor(in_df[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"))
   # The model formula
   formula <- ArrDelay ~ CRSDepTime + DayOfWeek + CRSDepHour:DayOfWeek
   # Train the model
   rxSetComputeContext("local")
   mm <- rxLinMod(formula, data=in_df)
   mm <- rxSerializeModel(mm)

   return(list("mm" = mm))
 }
 # create InpuData Object for an input parameter that is a data frame
 # note: if the input parameter is not a data frame use InputParameter object
 id <- InputData(name = "in_df",
                defaultQuery = paste0("select top 10000 ArrDelay,CRSDepTime,",
                                      "DayOfWeek,CRSDepHour from cleanData"))
 # create an OutputParameter object for the variable inside the return list
 # note: if that variable is a data frame use OutputData object
 out <- OutputParameter("mm", "raw")

 # connections string
 conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                  "Trusted_Connection=Yes;")
 # create the stored procedure object
 sp_df_op <- StoredProcedure("train1", "spTest1", id, out,
                        filePath = ".")
 # register the stored procedure with the database
 registerStoredProcedure(sp_df_op, conStr)

 # execute the stored procedure, note: non-data frame variables inside the
 # return list are not returned to R. However, if the execution is not successful
 # the error will be displayed
 model <- executeStoredProcedure(sp_df_op, connectionString = conStr)
 # get the linear model
 mm <- rxUnserializeModel(model$params$op1)
## End(Not run)