【问题标题】:How do I setup and run SparkR projects and scripts (like a jar file)?如何设置和运行 SparkR 项目和脚本(如 jar 文件)?
【发布时间】:2016-01-07 20:00:24
【问题描述】:

我们已成功完成所有关于在 EC2 实例上的 RStudio 中设置和运行基本程序的 SparkR 教程。

我们现在想不通的是如何创建一个以 SparkR 作为依赖项的项目,编译/jar 并在其中运行任何各种 R 程序。

我们来自 Scala 和 Java,所以我们可能是带着错误的心态来到这里的。这在 R 中是否可行,还是与 Java 的构建文件和 jar 不同,或者您只需在没有打包 jar 的情况下单独运行每个 R 脚本?

【问题讨论】:

    标签: r apache-spark sparkr


    【解决方案1】:

    您是否只需要单独运行每个 R 脚本而不需要打包的 jar?

    或多或少。虽然您可以创建一个 R 包 (-s) 来存储代码的可重用部分(例如参见 devtools::createR packages)并可选择将其分发到集群上(因为当前的公共 API 仅限于与 JVM 的高级交互后端它不应该是必需的),你传递给spark-submit的只是一个单一的R脚本:

    • 创建一个SparkContext - SparkR::sparkR.init
    • 创建一个SQLContext / HiveContexts - SparkR::sparkRSQL.init / SparkR::sparkRHive.init
    • 执行其余代码
    • 停止SparkContext - SparkR::sparkR.stop

    假设工作人员存在外部依赖项,则可以使用 if not require 模式在运行时安装丢失的包,例如:

    if(!require("some_package")) install.packages("some_package")
    

    if(!require("some_package")) devtools::install_github("some_user/some_package")
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2018-12-05
    • 2016-04-04
    • 2013-12-07
    相关资源
    最近更新 更多