Apache zeppelin с ошибкой java: ';' ожидается, но "класс" найден

Я использую Java API Apache Spark для загрузки данных из некоторых источников (например, Cassandra и HDFS) для визуализации в Apache Zeppelin. Код использует SparkSql и SparkSession, а не SparkContext, и успешно протестирован в IDE. Я вставляю полный код (содержащий все коды, которые я запускаю в IDE) в записную книжку Zeppelin и после запуска с ошибкой error: ';' expected but 'class' found. Я думаю, что это ошибка Scala, и подозреваю, поддерживает ли Zeppelin Spark Java API ?! Если да, то как я могу решить проблему?

Версия Apache Zeppelin: 0.7.3 Вот код:

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import java.util.HashMap;

public class LoadCSV {
    public static void main(String[] args) {
        HashMap<String, String> ops = new HashMap();
        ops.put("table", "grades");
        ops.put("keyspace", "zeppline");

        SparkSession spark = SparkSession
                .builder()
                .master("local[*]")
                .appName("Java Spark SQL basic example")
                .config("spark.cassandra.connection.host", "127.0.0.1")
                .config("spark.cassandra.connection.port", "9042")
                .getOrCreate();

        Dataset<Row> df1 = spark.read()
                .format("csv")
                .option("header", true)
                .option("inferSchema", true)
                .csv("hdfs://localhost:54310/Data/Zeppline/grades.csv");


        Dataset<Row> df2 = spark.read()
                .format("org.apache.spark.sql.cassandra")
                .options(ops)
                .load()
                .select("id","first_name", "last_name", "ssn", "test1", "test2", "test3", "test4", "final", "grade");

        df1.union(df2).createOrReplaceTempView("grades");

    }
}
0
0
710
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

I suspect does Zeppelin support Spark JAVA API?

Это не. Вы можете найти полный список доступных интерпретаторов на веб-сайте Zeppelin (https://zeppelin.apache.org/docs/latest/manual/interpreters.html), и там нет интерпретатора Java.

Могу ли я определить собственный интерпретатор, поддерживающий Spark Java API?

Soheil Pourbafrani 11.04.2018 11:59

@SoheilPourbafrani Возможно, вы сможете это сделать, но на самом деле вам понадобится JDK9 или более поздняя версия (с его REPL), которая не поддерживается в Spark. И Java в любом случае не разрабатывается с учетом интерактивности, так зачем беспокоиться?

Alper t. Turker 11.04.2018 12:23

Вы знаете, что я хочу, наконец, запустить коды Zeppelin Spark в кластере YARN, если да, мне еще нужно изменить API на Scala или Python?

Soheil Pourbafrani 11.04.2018 12:29

Другие вопросы по теме