2016-12-12 3 views
1

У меня есть следующий файл SBT, я компилирую Scala-код, используя Apache GraphFrame, а также читаю CSV-файл.SBT в кадрах графа Apache-Spark

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" 
) 

Вот мой код в 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) 

Когда я пытаюсь сделать файл Jar с помощью SBT, это дает мне следующее сообщение об ошибке во время компиляции

[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: 

ответ

3

GraphFrames не в Maven Центральный репозиторий.

Вы можете:

  1. загрузить артефакт на Spark Packages страницу и установить в локальном хранилище
  2. Добавить Spark Packages repository в свой SBT build.sbt:

кодекса в build.sbt:

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

Приведенный выше код работает отлично, но теперь у меня есть такая же проблема для «импорта» org.apache.spark.sql.DataFrame Error «неразрешенная зависимость: org.apache.spark # искровым sql_2.10_2.10; 1.0. 0: не найден "@T. Gawęda – Aroon

+0

@Aroon У вас есть странная версия Spark SQL - «1.0.0» - в то время как Spark Core - 1.6.1. Пожалуйста, измените версию Spark SQL также на 1.6.1 –

+0

@ Арун также удвоил версию версии Scala, предположив, что вы изменили ее на 'org.apache.spark" %% "spark-sql_2.10"% "1.0.0" '. Используйте %% или добавьте версию Scala. Итак: '" org.apache.spark "%%" spark-sql "%" 1.6.1 ",' или '" org.apache.spark "%" spark-sql_2.10 "%" 1.6.1 ",' –

2

Мне удалось получить его нг с помощью sbt-spark-package

В project/plugins.sbt, я добавил:

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

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

Затем в build.sbt я добавил:

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

И это сработало.

Надеюсь, это поможет.

Смежные вопросы