稍微介紹一下sparklyr的extension寫法
但是細節都還在研究,只是環境的配置跟使用官方的extension套件而已
環境只有一點要注意,sparklyr只會找下面三個地方有沒有scala-2.10
或是scala-2.11
- /opt/local/scala
- /usr/local/scala
- /opt/scala
所以根據我之前的配置就需要重新做調整
使用下面的指令做調整的動作即可
1 2
| sudo mkdir /usr/local/scala sudo mv /usr/local/bigdata/scala /usr/local/scala/scala-2.11
|
接著run下面的script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| library(sparklyr)
if (!dir.exists("sparkhello")) git2r::clone("https://github.com/jjallaire/sparkhello.git", "sparkhello")
file.remove("sparkhello/inst/java/sparkhello-1.6-2.10.jar") file.remove("sparkhello/inst/java/sparkhello-2.0-2.11.jar")
setwd("sparkhello")
jar_name <- sparklyr:::infer_active_package_name() %>>% paste0("-2.0-2.11.jar")
compile_package_jars(spark_version = "2.0.0", spark_home = Sys.getenv("SPARK_HOME"), scalac_path = find_scalac("2.11"), jar_name = jar_name)
devtools::build()
devtools::install()
setwd("..")
spark_disconnect_all()
library(sparkhello)
spark_master <- "mesos://zk://192.168.0.121:2181,192.168.0.122:2181,192.168.0.123:2181/mesos" sc <- spark_connect(master = spark_master, config = spark_config("config.yml", FALSE))
spark_hello(sc)
|
以上就是sparklyr的extension部分
很可惜的是這個範例沒有講到怎麼傳參數到scala裡面
也不知道能不能設定一些函數,output到R裡面使用