【问题标题】:Compile Spark stream kinesis sample application using SBT tool使用 SBT 工具编译 Spark 流 kinesis 示例应用程序
【发布时间】:2017-04-07 09:34:16
【问题描述】:

我正在尝试为 Spark 本身在给定链接中提供的 Spark kinesis stream scala 应用程序编译和创建一个 jar。 Kinesis word count sample

以下是我的 sbt 文件,它包含所有依赖项,并且对于简单程序的编译效果很好。

name := "stream parser"

version := "1.0"

val sparkVersion = "2.0.2"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core"  % sparkVersion % "provided",
  "org.apache.spark" %% "spark-streaming"  % sparkVersion % "provided",
  "org.apache.spark" %% "spark-sql"  % sparkVersion % "provided",
  "org.apache.spark" %% "spark-streaming-kinesis-asl"  % sparkVersion % "provided"
)

但 kinesis 示例在我的 Ubuntu 系统中编译时抛出以下错误。

trait Logging in package internal cannot be accessed in package org.apache.spark.internal
[error] object KinesisWordCountASL extends Logging {
[error]                                    ^

日志类导入

import org.apache.spark.internal.Logging

任何想法可能是什么问题?

【问题讨论】:

  • 使用的是什么 sbt 版本?
  • [info] This is sbt 0.13.12 [info] The current project is built against Scala 2.10.6 [info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin [info] sbt, sbt plugins, and build definitions are using Scala 2.10.6
  • 新发现:当我为 spark 版本 1.4.1 构建它的工作。对代码进行了一些修改,例如 import org.apache.spark.Logging 而不是 import org.apache.spark.internal.Logging
  • 你在这方面有进步吗?我看到了同样的问题。我尝试了多个版本。

标签: scala sbt spark-streaming amazon-kinesis


【解决方案1】:

根据 spark repo 2.0 及更高版本,Logging 类包含在 package org.apache.spark.internal spark 在以前的版本中,它在 package org.apache.spark 我建议运行您的示例设置 spark 2.0.0 或更高版本。或者根据相应库的使用情况进行更改。

与 build.sbt 相同的示例正在编译,没有任何问题

scalaVersion := "2.10.6"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "2.0.2",
  "org.apache.spark" %% "spark-sql" % "2.0.2",
  "org.apache.spark" %% "spark-streaming" % "2.0.2",
  "org.apache.spark" %% "spark-streaming-kinesis-asl" % "2.0.2",
  "com.amazonaws" % "amazon-kinesis-producer" % "0.10.2"
)

【讨论】:

  • 我只为 spark 2.0.0 或更高版本使用 org.apache.spark.internal.Logging。仍然抛出上述错误。
  • 尝试使用代替provided scope compile
猜你喜欢
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-31
  • 2018-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多