Spark2 Набор данных Java Sql

Попытка запустить JavaSparkSQLExample в Spark2. используя spark-core_2.11-2.0.2 и spark-sql_2.11-2.0.2. Ошибка: The method createGlobalTempView(String) is undefined for the type Dataset<Row>.

На самом деле в последних документах API этот метод не определен. Также Руководство по программированию имеет это. Кто-нибудь имеет представление об этом.

Кроме того, как мы строим сеанс - поскольку вы не можете работать с: .config("spark.some.config.option", "some-value").

SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: A master URL must be set in your configuration

person Sam-T    schedule 07.12.2016    source источник
comment
Какую версию Spark вы используете? createGlobalTempView() доступен с версии 2.1.0   -  person Anton Okolnychyi    schedule 07.12.2016
comment
@ Антон Окольничий Я использую spark-core_2.11-2.0.2 и spark-sql_2.11-2.0.2, просматривая последнюю [Документацию по API] [1] [1]:spark.apache.org/docs/latest/api/java/index.html   -  person Sam-T    schedule 07.12.2016
comment
Правильно, документы API также относятся к версии 2.0.2, поскольку Spark 2.1 официально недоступен. Вы нашли пример в исходниках Spark? Я не могу найти createGlobalTempView() в руководстве по программированию Spark SQL для версии 2.0.2. Если вы посмотрите на код в мастере, вы увидите невыпущенный Spark 2.1.   -  person Anton Okolnychyi    schedule 07.12.2016
comment
Да, это также есть в руководстве по программированию - оно не относится к какой-либо версии выпуска. Также пример не относится к версии. people.apache.org /~pwendell/spark-nightly/spark-master-docs/   -  person Sam-T    schedule 07.12.2016


Ответы (1)


  • Согласно вашим комментариям, вы смотрите руководство по программированию ночной сборки Spark. Он основан на основной ветке и содержит еще не выпущенный код. Скорее всего, он появится в Spark 2.2.0. С другой стороны, ваши артефакты и документы API предназначены для последней официально доступной версии Spark — 2.0.2. createGlobalTempView() появился только в версии 2.1 (которая скоро появится, но тоже недоступна). Поэтому вы не можете использовать createGlobalTempView() со Spark 2.0.2 (версия ваших артефактов). Чтобы узнать, что доступно в Spark 2.0.2, см. это руководство< /а>.

  • Каждому приложению Spark требуется главный URL. Вы можете передать его как параметр в spark-submit или напрямую установить в коде:

    val spark = SparkSession.builder() .appName("App name") .master("local[4]") .getOrCreate()

person Anton Okolnychyi    schedule 07.12.2016
comment
Хорошо, да, я на 2.0.2, и мне все равно на createGlobalTempView, я просто ошибся. Кстати, предоставленное вами руководство также относится к той же ссылке примера кода (поэтому это тот же новый код). Я прокомментировал эту часть. Пробовал .master("local[4]") - сработало. Мне, наконец, действительно нужно подключиться к Cassandra - как? В старой версии мы используем SparkConf ` conf.setMaster(local[*]); conf.set(spark.cassandra.connection.host, localhost); conf.set(spark.cassandra.connection.port, 9042);` Что нам теперь делать? Спасибо большое, - person Sam-T; 08.12.2016
comment
Вы можете использовать .config в Spark 2. SparkSession.builder() .appName(имя приложения) .master(local[4]) .config(spark.cassandra.connection.host, localhost) .config(spark.cassandra.connection .порт, 9042) .getOrCreate() - person abaghel; 08.12.2016