使用RStudio-sparklyr连接IntelliJ提供的本地Spark

Using RStudio-sparklyr to connect to local Spark provided by IntelliJ

早上好, 这听起来像是一个愚蠢的问题,但我想通过 RStudio 在 Spark 中访问一个临时 table 。我没有任何 Spark 集群,而且我的电脑上只有 运行 本地的所有内容。 当我通过 IntelliJ 启动 Spark 时,实例 运行ning 正常:

    17/11/11 10:11:33 INFO Utils: Successfully started service 'sparkDriver' on port 59505.
17/11/11 10:11:33 INFO SparkEnv: Registering MapOutputTracker
17/11/11 10:11:33 INFO SparkEnv: Registering BlockManagerMaster
17/11/11 10:11:33 INFO BlockManagerMasterEndpoint: Using org.apache.spark.storage.DefaultTopologyMapper for getting topology information
17/11/11 10:11:33 INFO BlockManagerMasterEndpoint: BlockManagerMasterEndpoint up
17/11/11 10:11:33 INFO DiskBlockManager: Created local directory at C:\Users\stephan\AppData\Local\Temp\blockmgr-7ca4e8fb-9456-4063-bc6d-39324d7dad4c
17/11/11 10:11:33 INFO MemoryStore: MemoryStore started with capacity 898.5 MB
17/11/11 10:11:33 INFO SparkEnv: Registering OutputCommitCoordinator
17/11/11 10:11:33 INFO Utils: Successfully started service 'SparkUI' on port 4040.
17/11/11 10:11:34 INFO SparkUI: Bound SparkUI to 0.0.0.0, and started at http://172.25.240.1:4040
17/11/11 10:11:34 INFO Executor: Starting executor ID driver on host localhost
17/11/11 10:11:34 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 59516.
17/11/11 10:11:34 INFO NettyBlockTransferService: Server created on 172.25.240.1:59516

但是我不确定端口,我必须在RStudio/sparklyr中选择:

sc <- spark_connect(master = "spark://localhost:7077", spark_home = "C://Users//stephan//Downloads//spark//spark-2.2.0-bin-hadoop2.7", version = "2.2.0")
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
  cannot open file 'C:\Users\stephan\AppData\Local\Temp\Rtmp61Ejow\file2fa024ce51af_spark.log': Permission denied

我尝试了不同的端口,例如 59516、4040 等,但都导致了相同的结果。由于文件写得很好,我猜可以忽略权限被拒绝的消息:

17/11/11 01:07:30 WARN StandaloneAppClient$ClientEndpoint: Failed to connect to master localhost:7077

任何人都可以帮助我,我如何在本地 运行ning Spark 和 RStudio 之间建立连接,但没有那个 RStudio 是 运行ning 另一个 Spark 实例?

谢谢 斯蒂芬

运行 独立 Spark 集群与 运行ning Spark 在 IDE 中的 local 模式不同,这里很可能就是这种情况。 local 模式不创建任何持久服务。

到运行你自己的"pseudodistributed"集群:

  • 下载 Spark 二进制文件。
  • 使用 $SPARK_HOME/sbin/start-master.sh 脚本启动 Spark master。
  • 使用 $SPARK_HOME/sbin/start-slave.sh 脚本启动 Spark worker 并传递 master url。

为了能够共享表,您还需要一个合适的 Metastore(不是 Derby)。