InputData: dados de entrada para procedimento armazenado SQL: gerador de classe
InputData
: gera um Objeto InputData que captura as informações sobre o parâmetro de entrada que é uma estrutura de dados.
A estrutura de dados precisa ser preenchida após a execução de uma determinada consulta.
Esse objeto é necessário para a criação de procedimentos armazenados nos quais a função R inserida assume um parâmetro de entrada de estrutura de dados.
Uso
InputData(name, defaultQuery = NULL, query = NULL)
Argumentos
name
Uma cadeia de caracteres, o nome do parâmetro de entrada de dados na função R fornecida para StoredProcedure.
defaultQuery
Uma cadeia de caracteres que especifica a consulta padrão que recuperará os dados se uma consulta diferente não for fornecida no momento da execução do procedimento armazenado. Deve ser uma consulta SELECT simples.
query
Uma cadeia de caracteres especificando a consulta que será usada para recuperar os dados na próxima execução do procedimento armazenado.
Valor
Objeto InputData
Exemplos
## 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 InputData 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)