2016-12-12 4 views
1

Ich habe folgende SBT-Datei, ich kompiliere den Scala-Code mit Apache GraphFrame und auch das Lesen der CSV-Datei.SBT in Apache-Spark Grafikrahmen

name := "Simple" 

version := "1.0" 

scalaVersion := "2.10.5" 

libraryDependencies ++= Seq(

"org.apache.spark" %% "spark-core" % "1.6.1", 

"graphframes" % "graphframes" % "0.2.0-spark1.6-s_2.10", 

"org.apache.spark" %% "spark-sql" % "1.0.0", 

"com.databricks" % "spark-csv" % "1.0.3" 
) 

Hier ist mein Code in Scala

import org.graphframes._ 
import org.apache.spark.sql.DataFrame 
    val nodesList = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").load("/Users/Desktop/GraphFrame/NodesList.csv") 
    val edgesList= sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").load("/Users/Desktop/GraphFrame/EdgesList.csv") 
    val v=nodesList.toDF("id", "name") 
    val e=edgesList.toDF("src", "dst", "dist") 
    val g = GraphFrame(v, e) 

Wenn ich versuche, die Jar-Datei mit SBT zu machen, es mir beim Übersetzen

[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: graphframes#graphframes;0.2.0-spark1.6-s_2.10: not found 
[error] Total time: 

Antwort

3

GraphFrames nicht in Maven folgenden Fehler gibt Zentrales Repository noch nicht.

Sie können:

  1. Download Artefakt auf Spark Packages Seite und installieren Sie in lokalen Repository
  2. hinzufügen Spark Packages repository in die SBT build.sbt:

-Code in build.sbt:

resolvers += Resolver.url("SparkPackages", url("https://dl.bintray.com/spark-packages/maven/")) 
+0

Above Code funktionieren gut, aber jetzt habe ich gleiches Problem für „import org.apache.spark.sql.DataFrame“ Fehler „ungelöste Abhängigkeit: org.apache.spark # Funken sql_2.10_2.10; 1,0. 0: nicht gefunden "@T. Gawęda – Aroon

+0

@Aroon Sie haben seltsame Spark SQL-Version - "1.0.0" - während Spark Core 1.6.1 ist. Bitte ändern Spark SQL-Version auch auf 1.6.1 –

+0

@Aroon auch doppelte Version der Scala-Version vorschlagen, dass Sie es in '" org.apache.spark "geändert haben %%" spark-sql_2.10 "%" 1.0.0 " , '. Bitte benutzen Sie %% oder fügen Sie Scala-Version hinzu. Also: '" org.apache.spark "%%" spark-sql "%" 1.6.1 ",' or "" org.apache.spark "%" spark-sql_2.10 "%" 1.6.1 ",' –

2

Ich schaffte es, es zu arbeiten ng mit sbt-spark-package

In project/plugins.sbt, fügte ich hinzu:

resolvers += "bintray-spark-packages" at "https://dl.bintray.com/spark-packages/maven/" 

addSbtPlugin("org.spark-packages" % "sbt-spark-package" % "0.2.5") 

Dann in build.sbt ich hinzugefügt:

spDependencies += "graphframes/graphframes:0.5.0-spark2.1-s_2.11" 

Und es funktionierte.

Ich hoffe, es hilft.