【问题标题】:Using RStudio-sparklyr to connect to local Spark provided by IntelliJ使用 RStudio-sparklyr 连接 IntelliJ 提供的本地 Spark
【发布时间】:2018-04-24 07:23:00
【问题描述】:

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

    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

请任何人帮助我,我如何在本地运行的 Spark 和 RStudio 之间建立连接,但没有该 RStudio 正在运行另一个 Spark 实例?

谢谢 斯蒂芬

【问题讨论】:

    标签: apache-spark intellij-idea rstudio sparklyr


    【解决方案1】:

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

    运行您自己的“伪分布式”集群:

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

    为了能够共享表,您还需要一个适当的元存储(不是 Derby)。

    【讨论】:

    • 我明白了。太糟糕了:(我关注了这个关于在本地运行它的线程:stackoverflow.com/questions/36593446/… 并将我的配置更改为“spark://172.25.240.1:7077”。当我现在运行我的应用程序时,它正在被联系,但是,StreamingContext不再工作了。它由streamingContext.start()和streamingContext.awaitTermination()执行。只要我在Intellij中运行它,它就会捕获流。顺便说一句。流实际上只是我生成的本地套接字流我自己
    猜你喜欢
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 2017-09-18
    • 2017-02-09
    • 2017-02-25
    • 2017-02-28
    • 2018-11-04
    • 2018-11-29
    相关资源
    最近更新 更多