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)