Мне нужно использовать функцию qchisq для столбца фрейма данных sparklyr.
Проблема в том, что кажется, что функция qchisq не реализована в Spark. Если я правильно читаю приведенное ниже сообщение об ошибке, sparklyr пытался выполнить функцию под названием «QCHISQ», однако ее нет ни в Hive SQL, ни в Spark.
В общем, есть ли способ запустить произвольные функции, не реализованные в Hive или Spark, с помощью sparklyr? Я знаю про spark_apply, но пока не разобрался, как его настроить.
> mydf = data.frame(beta=runif(100, -5, 5), pval = runif(100, 0.001, 0.1))
> mydf_tbl = copy_to(con, mydf)
> mydf_tbl
# Source: table<mydf> [?? x 2]
# Database: spark_connection
beta pval
<dbl> <dbl>
1 3.42 0.0913
2 -1.72 0.0629
3 0.515 0.0335
4 -3.12 0.0717
5 -2.12 0.0253
6 1.36 0.00640
7 -3.33 0.0896
8 1.36 0.0235
9 0.619 0.0414
10 4.73 0.0416
> mydf_tbl %>% mutate(se = sqrt(beta^2/qchisq(pval)))
Error: org.apache.spark.sql.AnalysisException: Undefined function: 'QCHISQ'.
This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 49