Ich verwende SAP HANA zusammen mit R. Ich verwende die cSPADE-Implementierung in R und lade daher die Daten in eine temporäre Datei. Bis es soweit war, funktionierte es aber soweit, aber jetzt bekomme ich einen Fehler. Es scheint ein Problem mit der temporären Datei zu sein.HANA RLANG temporäre Datei kann die Verbindung nicht öffnen
Could not execute 'CALL "BETA_SYSTEM"."run"()' in 15.741 seconds .
SAP DBTech JDBC: [2048]: column store error: [2048] "BETA_SYSTEM"."run": line 21 col 2 (at pos 821): [2048] (range 3): column store error: [2048] "BETA_SYSTEM"."beta.procedures::selectSpadeData": line 33 col 4 (at pos 992): [2048] (range 3): column store error: search table error: [34082] Execution of R script failed.;Error in file(file, ifelse(append, "a", "w")) :
cannot open the connection
stack trace:
2: file(file, ifelse(append, "a", "w"))
1: write.table(spade_data, file = file, sep = " ", row.names = FALSE,
quote = FALSE, col.names = FALSE)
CREATE PROCEDURE BETA_SYSTEM.spadeR (
IN spade_data "SPADE_INPUT_T",
OUT result "SPADE_RESULT_T"
)
LANGUAGE RLANG
AS
BEGIN
library(Matrix)
library(arules)
library(arulesSequences)
file <- tempfile()
write.table(spade_data, file = file, sep = " ", row.names=FALSE, quote = FALSE, col.names=FALSE)
df_trans <- read_baskets(file, info=c("sequenceID", "eventID", "SIZE"))
as(df_trans, "data.frame")
err_res <- tryCatch({
s_res <- cspade(df_trans, parameter = list(support = 0), control = list(verbose = TRUE))
}, warning= function(war) {
}, error=function(err) {
}, finally={
}
)
if(length(err_res) == 0){
result<-data.frame(sequence="EMPTY",support=0)
} else {
result <- as(s_res, "data.frame")
}
END;