Skip to main content

creating R UDF library

  • April 22, 2015
  • 4 replies
  • 24 views

kr_

 

Ima getting error while running library in vertica  , though the underlying Rcode is exceuting fine in R (no syntax errors) 

Failure in UDx RPC call InvokeSetExecContext(): Error calling setupExecContext() in User Defined Object [] at [/scratch_a/release/22925/vbuild/vertica/OSS/UDxFence/vertica-udx-R.cpp:139], error code: 0, message: Exception in Validate Library:<text>:1:29: unexpected input

1: rudfkmeans <- function(x,y)

4 replies

Chris_C
Forum|alt.badge.img
  • Participating Frequently
  • April 23, 2015

Hi kr,

 

Can you share the code that is causing the error? I think you have  a syntax error in your code. It may be syntactically correct in R, but Vertica does some additional validation on the R source before running it.

 

Thanks,

Chris


Kostia
  • New Participant
  • December 15, 2015

I'm having the same issues, I have tried many different versions and still get the same error.

 

Attaching the code, can you please take a look and point me to what I'm doing wrong:

 

DetectSeasonality <- function(x,y)
{
library('AnomalyDetection')
ifelse(!is.null(y[['TimeInterval']]),TimeInterval = as.numeric(y[['TimeInterval']]),stop("Expected parameter TimeInterval"))
ifelse(!is.null(y[['SmoothingMethod']]),SmoothingMethod = as.character(y[['SmoothingMethod']]),stop("Expected parameter SmoothingMethod"))
ifelse(!is.null(y[['alpha']]),alpha = as.numeric(y[['alpha']]),stop("Expected parameter alpha"))
ifelse(!is.null(y[['beta']]),beta = as.numeric(y[['beta']]),stop("Expected parameter beta"))
ifelse(!is.null(y[['LowValues']]),LowValues = as.numeric(y[['LowValues']]),stop("Expected parameter LowValues"))
ifelse(!is.null(y[['CutIntervals']]),CutIntervals = as.numeric(y[['CutIntervals']]),stop("Expected parameter CutIntervals"))
dataResult = FindSeasonality(x,TimeInterval,SmoothingMethod,alpha,beta,LowValues,CutIntervals)
dataResult
}
FindSeasonalityParams <- function()
{
params = data.frame(datatype=c('int','varchar','int','int','int','int'), length=rep(NA,6), scale=rep(NA,6), name=c("TimeInterval","SmoothingMethod","alpha","beta","LowValues","CutIntervals"))
params
}
DetectSeasonality_factory = function()
{
list(name=DetectSeasonality,udxtype=c("transform"),intype=c("any"),outtype=c("any"),parametertypecallback=FindSeasonalityParams)
}

Thanks,

 

Kostia


vioravis
Forum|alt.badge.img+1
  • Participating Frequently
  • December 21, 2015

We have typically seen this error whenever the R script is created in Windows OS and saved in the Dos/Windows format instead of Unix format(End of Line character is different). We usually open the file in Notepad++ and use "Edit --> EOL Conversion" to save the source file in Unix format. 

 

Ravi


Kostia
  • New Participant
  • December 21, 2015

Hi,

 

That fixed the issue.

 

Thank you very much.