2017-06-13 93 views
0

我試圖用火花graphframeGraphFrame:丟失或同時加載類文件

這裏創建一個圖形檢測無效的依賴是代碼:

import org.graphframes._ 

// Node DataFrames 
val v = sqlContext.createDataFrame(List(
    ("a", "Alice", 34), 
    ("b", "Bob", 36), 
    ("c", "Charlie", 30), 
    ("d", "David", 29), 
    ("e", "Esther", 32), 
    ("f", "Fanny", 36), 
    ("g", "Gabby", 60) 
)).toDF("id", "name", "age") 

// Edge DataFrame 
val e = sqlContext.createDataFrame(List(
    ("a", "b", "friend"), 
    ("b", "c", "follow"), 
    ("c", "b", "follow"), 
    ("f", "c", "follow"), 
    ("e", "f", "follow"), 
    ("e", "d", "friend"), 
    ("d", "a", "friend"), 
    ("a", "e", "friend") 
)).toDF("src", "dst", "relationship") 

// Create a GraphFrame 
val g = GraphFrame(v, e) 

但是,這是我收到的錯誤:

error: missing or invalid dependency detected while loading class file 'GraphFrame.class'. Could not access type Logging in package org.apache.spark, because it (or its dependencies) are missing. Check your build definition for missing or conflicting dependencies. (Re-run with -Ylog-classpath to see the problematic classpath.) A full rebuild may help if 'GraphFrame.class' was compiled against an incompatible version of org.apache.spark.

我正在使用Apache Spark 2.1和Scala 2.11。任何建議可能是什麼問題?

回答

0

下載以下從中央的maven回購

com.typesafe.scala-logging_scala-logging-api_2.11-2.1.2.jar  
graphframes_graphframes-0.5.0-spark2.1-s_2.11.jar 
org.slf4j_slf4j-api-1.7.7.jar 
com.typesafe.scala-logging_scala-logging-slf4j_2.11-2.1.2.jar 
org.scala-lang_scala-reflect-2.11.0.jar 

包添加以下到您的火花,default.conf文件(逗號分隔在上面下載jar文件所在的絕對路徑列表)

spark.jars   path_2_jar/org.slf4j_slf4j-api-1.7.7.jar, path_2_jar/org.scala-lang_scala-reflect-2.11.0.jar, path_2_jar/graphframes_graphframes-0.5.0-spark2.1-s_2.11.jar, path_2_jar/com.typesafe.scala-logging_scala-logging-slf4j_2.11-2.1.2.jar, path_2_jar/com.typesafe.scala-logging_scala-logging-api_2.11-2.1.2.jar