【问题标题】:GraphX - Class file needed by Graph is missingGraphX - 缺少 Graph 所需的类文件
【发布时间】:2018-03-27 04:43:20
【问题描述】:

我是 Scala/Spark 的新手。我正在尝试编译和运行示例 GraphX 代码。 原文件链接:PageRank

我的代码,稍作编辑以避免出现问题:

// scalastyle:off println
package org.apache.spark.examples.graphx
// $example on$
import org.apache.spark.graphx.GraphLoader
// $example off$
import org.apache.spark.sql.SparkSession
/**
 * A PageRank example on social network dataset
 * Run with
 * {{{
 * bin/run-example graphx.PageRankExample
 * }}}
 */
object PageRankExampl {
    def main(args: Array[String]): Unit = {
        // Creates a SparkSession.
        val spark = SparkSession
            .builder
            .appName("PageRankExampl")
            .getOrCreate()
        val sc = spark.sparkContext

        // $example on$
        // Load the edges as a graph
        val graph = GraphLoader.edgeListFile(sc, "data/graphx/followers.txt")
        // Run PageRank
        val ranks = graph.pageRank(0.0001).vertices
        // Join the ranks with the usernames
        val users = sc.textFile("data/graphx/users.txt").map { line =>
            val fields = line.split(",")
            (fields(0).toLong, fields(1))
        }
        val ranksByUsername = users.join(ranks).map {
            case (id, (username, rank)) => (username, rank)
        }
        // Print the result
        println(ranksByUsername.collect().mkString("\n"))
        // $example off$
        spark.stop()
    }
}
// scalastyle:on println

构建文件:

name := "hello"

version := "1.0"

libraryDependencies ++= Seq(
"org.apache.spark" % "spark-core_2.11" % "2.2.1" % "provided",
"org.apache.spark" % "spark-sql_2.11" % "2.2.1" % "provided",
"org.apache.spark" % "spark-graphx_2.11" % "2.2.1" % "provided"
)

我得到的错误:

启动 sbt:使用 -help 调用其他选项

[info] 将当前项目设置为 hello(在构建文件中:/usr/local/spark-2.2.1-bin-hadoop2.7/nofel_test/)

>运行 [信息] 将 1 个 Scala 源编译到 /usr/local/spark-2.2.1-bin-hadoop2.7/nofel_test/target/scala-2.9.1/classes...

[error] Graph 需要的类文件丢失。

[error] 包reflect的引用类型ClassTag引用了不存在的符号。

[error] 发现一个错误

[错误] {file:/usr/local/spark-2.2.1-bin-hadoop2.7/nofel_test/}default-b08e19/compile:compile: 编译失败

[error] 总时间:2s,2018年3月26日晚上11:14:28完成

【问题讨论】:

    标签: scala apache-spark spark-graphx pagerank


    【解决方案1】:

    我在构建文件中添加了一行,它起作用了。如果有人知道为什么需要这条线(scalaVersion),请告诉我。

    name := "PageRank"
    
    version := "1.0"
    
    scalaVersion := "2.11.8"
    
    libraryDependencies ++= Seq(
         "org.apache.spark" % "spark-core_2.11" % "2.2.1" % "provided",
         "org.apache.spark" % "spark-sql_2.11" % "2.2.1" % "provided",
         "org.apache.spark" % "spark-graphx_2.11" % "2.2.1" % "provided"
     )
    

    【讨论】:

      猜你喜欢
      • 2021-06-07
      • 2015-10-10
      • 2012-05-08
      • 1970-01-01
      • 2013-09-29
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多