SBT dalam bingkai grafik Apache-Spark

Saya memiliki file SBT berikut, saya mengkompilasi Kode Scala menggunakan Apache GraphFrame dan juga membaca file CSV.

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

Ini Kode Saya di 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)

Ketika saya mencoba membuat file Jar menggunakan SBT, saya mendapat kesalahan berikut selama kompilasi

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

person Yasir    schedule 12.12.2016    source sumber


Jawaban (3)


GraphFrames belum ada di repositori Maven Central.

Kamu bisa:

  1. unduh artefak di halaman Paket Spark dan instal ke repositori lokal
  2. Tambahkan repositori Paket Spark ke dalam SBT build.sbt Anda:

Kode di build.sbt:

resolvers += Resolver.url("SparkPackages", url("https://dl.bintray.com/spark-packages/maven/"))
person T. Gawęda    schedule 12.12.2016
comment
Kode di atas berfungsi dengan baik tetapi Sekarang saya memiliki masalah yang sama untuk import org.apache.spark.sql.DataFrame Error unresolved dependency: org.apache.spark#spark-sql_2.10_2.10;1.0.0: not found @T. Gaweda - person Yasir; 12.12.2016
comment
@Aroon Anda memiliki versi Spark SQL yang aneh - 1.0.0 - sedangkan Spark Core adalah 1.6.1. Harap ubah juga versi Spark SQL menjadi 1.6.1 - person T. Gawęda; 12.12.2016
comment
@Aroon juga menggandakan versi versi Scala menyarankan Anda telah mengubahnya menjadi "org.apache.spark" %% "spark-sql_2.10" % "1.0.0",. Silakan gunakan %% atau tambahkan versi Scala. Jadi: "org.apache.spark" %% "spark-sql" % "1.6.1", atau "org.apache.spark" % "spark-sql_2.10" % "1.6.1", - person T. Gawęda; 12.12.2016
comment
Tidak berhasil untuk saya. Tampaknya paket tersebut TIDAK ada di maven. Namun SBT tidak dapat menyelesaikannya karena alasan apapun. httpsketergantungan yang belum terselesaikan: graphframes#graphframes;0.5.0-spark2.1-s_2.11: tidak ditemukan - person aclowkay; 15.06.2017

Untuk beberapa alasan, Resolver.url yang disebutkan dalam jawaban Gawęda tidak berfungsi untuk saya, yang di bawah ini berfungsi:

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

libraryDependencies += "graphframes" % "graphframes" % "0.7.0-spark2.4-s_2.11"

person Diptanshu    schedule 14.03.2019

Saya berhasil membuatnya berfungsi menggunakan sbt-spark-package

Di project/plugins.sbt, saya menambahkan:

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

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

Kemudian, di build.sbt saya menambahkan:

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

Dan itu berhasil.

Semoga ini bisa membantu.

person Javier Alba    schedule 15.06.2017
comment
Ini berhasil untuk saya. Perhatikan saja bahwa jika Anda akan menggunakan sbt-spark-package, pastikan Anda menggunakan sbt 0.13.16, karena paket tersebut tidak berfungsi dengan sbt 1.1.1 (lihat github.com/databricks/sbt-spark-package/issues/35) - person Shafique Jamal; 05.04.2018