Запуск Scala заданий в планировщике - PullRequest
0 голосов
/ 08 января 2020

Моя работа отлично работает в моей записной книжке, но когда я копирую и вставляю сценарий в запланированное задание Spark Scala, я сталкиваюсь с ошибками типа "script. scala: 15: ошибка: не найдена: значение sqlContext" .

Что мне нужно сделать, чтобы запустить мой код Scala как запланированное задание?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

@ paul-mineau, В записных книжках несколько переменных предварительно созданы и связаны с объектами Spark JVM. Например, имя переменной sc связано с SparkContext JVM, spark связано с объектом SparkSession приложения Spark, аналогично sqlContext связано с SQLContext приложения.
В некоторых случаях вы не можете быть в состоянии портировать код непосредственно для анализа. Поскольку все переменные не могут быть предварительно созданы для анализа (также, даже если они уже созданы, нет гарантии, что имена переменных будут одинаковыми. Например: SparkContext может быть привязан к имени переменной sc1 et c).
Я бы предложил явно создать этот объект (SQLContext в данном случае) в вашем приложении и получить к нему доступ.
Для этого конкретного c случая, если Spark версия> 2.0.0, вы можете получить доступ к SQLContext, используя SparkSession (org.apache.spark.sql.SparkSession#sqlContext)

0 голосов
/ 08 января 2020

Вы используете планировщик Qubole для запуска задания spark scala? Я вижу, вы упомянули, что задания в блокноте работают нормально.

На данный момент есть два способа взглянуть на это:

  1. Вы можете запланировать записную книжку (команда Spark -> Записная книжка). Более подробную информацию можно найти здесь. : https://docs.qubole.com/en/latest/user-guide/engines/spark/cron-notebook.html

  2. Чтобы запустить spark scala через вкладку Анализ и запланировать эту команду, вы можете импортировать sparkcontext: import org.apache.spark.SparkContext._

В идеале полезно было бы взглянуть на команду, но сейчас вы можете просмотреть примеры кодов на странице анализа в рабочей области. Сохраненные команды имеют несколько полезных примеров.

...