构建最小的 Sparkling Water 应用程序

Building a minimal Sparkling Water application

我是苏打水的新手。我现在如何 运行 我的程序来自 sparkling-shell。但是,我不确定如何构建一个独立的应用程序,我可以将其作为 spark submit 的输入。我需要包含哪些 jar 来构建我的应用程序?

检查 sparkling-water examples e.g. ProstateDemo.scala 如何编写独立的 sparkling-water 应用程序(创建 h2o 上下文等)。

基本上你 need to add sparkling-water-core 到你的 sbt/maven/gradle 依赖项,编译你的 jar。您有 2 个选择:

  1. 构建一个包含 sparkling-water-core 的程序集 jar。这是我用于 sbt 的示例:

    libraryDependencies += "ai.h2o" %% "sparkling-water-core" % "2.0.4" excludeAll(
    ExclusionRule(organization = "org.apache.spark"),
    ExclusionRule(organization = "org.slf4j"),
    ExclusionRule(organization = "com.google.guava"),
    ExclusionRule(organization = "org.eclipse.jetty.orbit"),
    ExclusionRule(organization = "com.esotericsoftware.kryo"))
    
  2. 编译你的 jar 并使用 --jars--packages 参数来触发提交:

spark-submit --packages ai.h2o:sparkling-water-core_2.11:2.0.4 your_jar.jar

仅供参考:还有 Sparkling Water Droplet,其中包含 stb 定义:

https://github.com/h2oai/h2o-droplets/blob/master/sparkling-water-droplet/build.sbt