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


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

InputParameter: создает объект InputParameter, записывающий сведения о входных параметрах функции R, которая должна быть встроена в хранимую процедуру SQL Server. Эти сведения станут входными параметрами хранимой процедуры. Поддерживаемые R-типы входных параметров: POSIXct, numeric, character, integer, logical и raw.

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

  InputParameter(name, type, defaultValue = NULL, defaultQuery = NULL,
  value = NULL, enableOutput = FALSE)

Аргументы

name

Строка символов, имя объекта параметра входных данных.

type

Строка символов, представляющая R-типы имени объекта параметра входных данных.

defaultValue

Значение параметра по умолчанию. Не поддерживается для raw.

defaultQuery

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

value

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

enableOutput

Сделайте его входным или выходным параметром

Значение

Объект InputParameter

Примеры


 ## Not run:

 # See ?StoredProcedure for creating the `cleandata` table.
 # and ?executeStoredProcedure for creating the `rdata` table. 

 # score1 makes a batch prediction given clean data(indata),
 # model object(model_param), and the new name of the variable
 # that is being predicted
 score1 <- function(indata, model_param, predVarName) {
 indata[,"DayOfWeek"] <- factor(indata[,"DayOfWeek"], levels=c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"))
 # The connection string
 conStr <- paste("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                 "Trusted_Connection=Yes;", sep = "")
 # The compute context
 computeContext <- RxInSqlServer(numTasks=4, connectionString=conStr)
 mm <- rxReadObject(as.raw(model_param))
 # Predict
 result <- rxPredict(modelObject = mm,
                     data = indata,
                     outData = NULL,
                     predVarNames = predVarName,
                     extraVarsToWrite = c("ArrDelay"),
                     writeModelVars = TRUE,
                     overwrite = TRUE)
}
# connections string
conStr <- paste0("Driver={ODBC Driver 13 for SQL Server};Server=.;Database=RevoTestDB;",
                "Trusted_Connection=Yes;")
# create InpuData Object for an input parameter that is a data frame
id <- InputData(name = "indata", defaultQuery = "SELECT * from cleanData")
# InputParameter for the model_param input variable
model <- InputParameter("model_param", "raw",
                       defaultQuery =
                         "select top 1 value from rdata where [key] = 'linmod.v1'")
# InputParameter for the predVarName variable
name <- InputParameter("predVarName", "character", value = "ArrDelayEstimate")
sp_df_df <- StoredProcedure(score1, "sTest", id, model, name,
                       filePath = ".")
## End(Not run)