InputParameter: Indataparameter för SQL-lagrad procedur: Klassgenerator
InputParameter
: genererar ett InputParameter-objekt som samlar in information om indataparametrarna för den R-funktion som ska bäddas in i en lagrad SQL Server-procedur. Dessa blir indataparametrarna för den lagrade proceduren. R-typer som stöds av indataparametrarna är POSIXct, numeriska, tecken, heltal, logiska och råa.
Användning
InputParameter(name, type, defaultValue = NULL, defaultQuery = NULL,
value = NULL, enableOutput = FALSE)
Argument
name
En teckensträng, namnet på indataparameterobjektet.
type
En teckensträng som representerar R-typen för indataparameterobjektet.
defaultValue
Standardvärdet för parametern. Stöds inte för "raw".
defaultQuery
En teckensträng som anger standardfrågan som hämtar data om en annan fråga inte tillhandahålls vid tidpunkten för körningen av den lagrade proceduren.
value
Ett värde som ska användas för parametern i nästa körning av den lagrade proceduren.
enableOutput
Gör detta till en indata-/utdataparameter
Värde
InputParameter-objekt
Exempel
## 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 InputData 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)