저는 이것에 대해서도 vertica 지원을 요청했지만 any1에 동일한 문제가 있는지 궁금합니다.Vertica의 R UDF에 문자 매개 변수를 전달하는 중 오류가 발생했습니다.
Vertica Analytic Database v6.1.3-0과 호환됩니다. Vertica R 언어 팩과 함께 제공되는 R 버전 3.0.0을 사용하고 있습니다.
USING PARAMETERS 키워드와 함께 전달 된 매개 변수를 사용하는 간단한 UDF를 만들려고합니다. 내가 매개 변수와 함수에 대한 Vertica의의 모범을 시도하고 나는 변경 때, 일
drop library r_test cascade;
create or replace library r_test as '.../testFun.r' language 'R';
create transform function testFun as name 'testFunFactory' library r_test;
create table test as select 1 as x union select 2 union select 3 union select 4 union select 5 union select 6 union select 7;
select testFun(x) over() from test;
> ERROR 3399: Failure in UDx RPC call InvokeGetParameterType(): Error calling getParameterType() in User Defined Object [testFun] at [/scratch_a/release/vbuild/vertica/UDxFence/vertica-udx-R.cpp:245], error code: 0, message: Error happened in getParameterType : not compatible with REALSXP
: Vertica의에서
testFun <- function(x,y) {
# extract the function parameters from y
parameter <- y[["parameter"]] # parameter to be passed
sum(x[,1])
}
testFunParams <- function()
{
params <- data.frame(datatype=rep(NA, 1), length=rep(NA,1),scale=rep(NA,1),name=rep(NA,1))
params[1,1] <- "varchar"
params[1,2] <- "40"
params[1,4] <- "parameter"
params
}
testFunFactory <- function()
{
list(
name=testFun
,udxtype=c("transform")
,intype=c("int")
,outtype=c("varchar(200)")
,outnames=c('test')
,parametertypecallback=testFunParams
,volatility=c("stable")
,strict=c("called_on_null_input")
)
}
내가 라이브러리를 실행
이
는 R 코드 실패한 varchar에 대한 매개 변수 유형입니다.수행 할 수있는 작업은 무엇입니까?
감사