2017-11-13 3 views
1

이의 내가 입력으로이 개 수치를 취하는 R 함수를 정의한다고 가정 해 봅시다 :SparkR에서 UDF가 얼마나 작동합니까?

effectifTouche <- function(audience, extrapolated){ 
TM = audience/1000000 
VE= extrapolated/100 
TME = TM * VE 
nbVis = TME/1000000.1 
return (nbVis) 
} 

를 그리고 점수를 날 다시 제공, 그래서 나는 SparkR DataFrame의 두 개의 열에서 UDF로 사용하고 싶습니다.

그것은 pyspark에서 일하고 있었고 SparkR이 어떻게 작동하는지 궁금해하고있었습니다.

그래서 Sparklyr와 SparkR에서 많은 것을 시도했지만이 UDF를 사용할 수 없습니다.

이상적으로, 난 그냥 이렇게 싶어요 : effectifTouche 내 R 기능과 청중되는

df %>% 
dapply(df_join, 
    function(p) { effectifTouche(p$audience,p$extrapolated) 
}) 

, 스파크 DataFrame 내 두 개의 열을 추정.

둘 다 시도했기 때문에 SparkR과 Sparklyr 라이브러리에 대한 답을 기꺼이 받아 들일 수 있으며 모든 github 문제를 성공적으로 검사했습니다.

고마워요 당신은 아마 SQL, 예를 들어, 스파크하기 위해 계산을 밀어 더 낫다과 같은 간단한 산술 또 다른 까다로운 유스 케이스

df %>% 
    mutate(my_var = as.numeric(strptime(endHour,format="%H:%M:%S"),unit="secs")) 

답변

0

에 대한

편집 실제로 외부 R 패키지를 사용해야 할 경우 df의 예를 제공하는 경우

df %>% 
    mutate(TM = audience/1000000, 
     VE = extrapolated/100, 
     TME = TM * VE, 
     nbVis = TME/1000000.1) 

, 우리는 더 나은 당신을 도울 수 있습니다.

+1

예를 들면 다음과 같습니다. endHour with (end_Har, format = "% H : % M : % S"), unit = "secs") ** new_var = as.numeric 데이터 세트의 열은 "23:45:34"와 같은 형식으로 표시됩니다. 더 나은 독서를 위해 편집을 참조하십시오. – tricky

관련 문제