Проблема с созданием простого приложения SparkSQL

17

Это довольно пустой вопрос.

Я пытаюсь узнать о SparkSQL. Я следовал примеру, описанному здесь: Ссылка

Все отлично работает в Spark-shell, но когда я пытаюсь использовать sbt для создания пакетной версии, я получаю следующее сообщение об ошибке: % Co_de%

К сожалению, я довольно новичок в sbt, поэтому я не знаю, как исправить эту проблему. Я подозреваю, что мне нужно включить дополнительные зависимости, но я не могу понять, как это сделать.

Вот код, который я пытаюсь скомпилировать:

/* TestApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf

case class Record(k: Int, v: String)

object TestApp {
 def main(args: Array[String]) {
   val conf = new SparkConf().setAppName("Simple Application")
   val sc = new SparkContext(conf)
   val sqlContext = new org.apache.spark.sql.SQLContext(sc)
   import sqlContext._
   val data = sc.parallelize(1 to 100000)
   val records = data.map(i => new Record(i, "value = "+i))
   val table = createSchemaRDD(records, Record)
   println(">>> " + table.count)
 }
}

Ошибка помечена в строке, где я пытаюсь создать SQLContext.

Вот содержимое файла sbt:

name := "Test Project"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"

resolvers += "Akka Repository" at "http://repo.akka.io/releases/"

Спасибо за помощь.

    
задан Bill_L 14.07.2014 в 19:34
источник
  • Не могли бы вы ответить на свой вопрос, используя свой раздел «Ответ»? Сообщество sbt на StackOverflow очень понравилось бы. –  Jacek Laskowski 15.07.2014 в 12:19

3 ответа

32

Как это часто бывает, ответ на вопрос помог мне выяснить ответ. Ответ заключается в том, чтобы добавить следующую строку в файл sbt.

libraryDependencies += "org.apache.spark" %% "spark-sql" % "1.0.0"

Я также понял, что в маленькой программе выше есть дополнительная проблема. В вызове createSchemaRDD слишком много аргументов. Эта строка должна выглядеть следующим образом:

val table = createSchemaRDD(records)
    
ответ дан Bill_L 16.07.2014 в 18:40
источник
  • и добавить Hive - libraryDependencies +="org.apache.spark"% "spark-hive_2.10"% "1.1.0" - благодаря mvnrepository.com! –  TobyEvans 10.10.2014 в 16:32
  • ничего похожего на поиск проблемы и обнаружение того, что вы решили проблему в прошлом году, но вы не можете повторить шаги еще раз ... то, что я должен был сделать в этот раз, было закрыто и снова открыло Intellij, прежде чем оно последовательно поднимет объявление новой библиотеки. Это может спасти кого-то еще несколько часов ... –  TobyEvans 03.07.2015 в 13:05
9

Спасибо! Я столкнулся с подобной проблемой при создании приложения Scala в Maven. Основываясь на том, что вы сделали с SBT, я добавил соответствующие зависимости Maven следующим образом, и теперь я могу скомпилировать и сгенерировать файл jar.

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.11</artifactId>
    <version>1.2.1</version>
</dependency>
    
ответ дан Aung Htet 23.02.2015 в 08:06
источник
0

У меня такая же проблема, в моем случае я просто скопировал вложенную ниже sbt-установку из онлайн с помощью scalaVersion:="2.10.4", но в моей среде я действительно имею версию scala версии 2.11.8

так обновлено & amp; снова выполнил пакет sbt, исправил исправление

name := "Test Project"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"

resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
    
ответ дан saranvisa 16.02.2017 в 23:54
источник