Spark Streaming StreamingContext ошибка

1

Я ветеран Java, который пытается изучить Scala + Spark Streaming. Я загрузил Eclipse-платформу Scala IDE + Spark core jar + Spark Streaming jar и 2.10 и попробовал пример - я получаю сообщение об ошибке:

val ssc = new StreamingContext(conf, Seconds(1));

Описание Resource Path Location Тип плохой символической ссылки. Подпись в StreamingContext.class относится к термину conf в пакете org.apache.hadoop, который недоступен. Это может быть полностью отсутствует в текущем пути к классам, или версия на пути к классам может быть несовместима с версией, используемой при компиляции StreamingContext.class. Lab.scala/AirStream/src line 10 Задача Scala

Есть что-то, что я пропустил здесь? все SparkContext не имеет ошибки, но StreamingContext получает эту ошибку во времени.

  • 0
    Похоже, вам не хватает некоторых зависимостей hadoop в вашем пути к классам
  • 0
    какой дистрибутив Spark вы используете? Бинарный или построенный локально?
Теги:
apache-spark
streaming

2 ответа

1
Лучший ответ

Убедитесь, что версия hadoop в classpath соответствует той версии, в которой построена искровая струйная банка. Также могут быть некоторые зависимости, которые искрообразующие потоки ожидают от кластерной среды; если это так, вам нужно будет добавить их вручную в classpath при работе в eclipse.

4

Я столкнулся с примерно такой же проблемой. Вот, как правило, класс scala, который я писал для практики scala/spark:

package practice.spark

import org.apache.spark.SparkContext._
import org.apache.spark._
import org.apache.spark.sql._

object SparkService {
  def sparkInit(sparkInstanceConfig: Configuration): SparkService = {
    val sparkConf = new SparkConf().setAppName(sparkInstanceConfig.appName)
    val instanceSpark = new SparkService(sparkConf)
    return instanceSpark
  }
}

class SparkService(sparkConf: SparkConf) {
  val sc = new SparkContext(sparkConf)
  val sql = new org.apache.spark.sql.SQLContext(sc)
}

В свойствах проекта eclipse> Java Build Path> Libraries у меня была библиотека jre8, библиотека scala 2.11, spark-core_2.11 и spark-sql_2.11. Я получил ошибку

Описание Путь к ресурсу Тип пути Недопустимая или недопустимая зависимость, обнаруженная при загрузке файла класса "SparkContext.class". Не удалось получить доступ к термину hasoop в пакете org.apache, потому что он (или его зависимости) отсутствует. Проверьте определение сборки для отсутствующих или противоречивых зависимостей. (Повторите запуск с -Ylog-classpath чтобы увидеть проблемный -Ylog-classpath к классам.) Полная перестройка может помочь, если "SparkContext.class" был скомпилирован против несовместимой версии org.apache. BinAnalysisNew Неизвестная проблема Scala

Затем я добавил банку хаоп-ядра к моему пути сборки Java, и он прояснил эту проблему. Я использовал последнюю версию этой банки.

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

  • 0
    добавление ядра hadoop работало и для меня. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню