Я тестирую Spark с помощью java и сталкиваюсь с некоторыми проблемами при запуске моей программы с использованием Eclipse.
Код теста следующий:
package projet1;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
public class projet1 {
public static void main(String[] args) {
System.out.println("Hello world");
System.setProperty("hadoop.home.dir", "/home/user1/Spark_Projects");
Logger.getLogger("org.apache").setLevel(Level.WARN);
SparkConf conf = new SparkConf().setAppName("SiravPg").setMaster("local[*]");
JavaSparkContext sc = new JavaSparkContext(conf);
JavaRDD<String> myRDD = sc.textFile("src/main/ressources/data.txt")
sc.close();
}
}
При запуске этого кода кажется, что eclipse не обнаруживает мою функцию main() и отображает новое окно с просьбой выбрать приложение Java.
PS: «System.out.println («Привет, мир»);» работает правильно.
Println запускается, только если я прокомментирую весь оставшийся код и оставлю его в покое, но с включенным остальным кодом ничего не запускается.
@Kishore Я пробовал все упомянутые решения, но безуспешно.
Вы уверены, что Eclipse правильно компилирует ваш класс, если у вас есть раскомментированный материал spark? Может быть, попробовать разделить основной метод и инициализацию и начать с отладчика...
Вы пытались добавлять вещи шаг за шагом? например, без ведения журнала и т. д., просто чтобы увидеть, что на самом деле является оскорбительной строкой. Второй вариант: вы пытались запустить его через Maven?




Просто используйте public static void main(String[] args) вместо public static void final main(String[] args).
Решение этой проблемы состоит в том, чтобы выбрать класс для запуска из отображаемого списка, в моем случае я выбираю проект1 и нажимаю кнопку «ОК».
во-первых, почему у вас есть "финальное" ключевое слово? во-вторых, это не имеет смысла, если println работает правильно, это показывает, что ваш основной метод не только найден, но и работает