Вставить запись в таблицу Hive от Spark - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь вставить записи в таблицу Hive из Spark (Scala). Значения, которые я пытаюсь вставить, представляют собой структурированные данные, которые входят в класс дел.

Вот что у меня есть:

case class rcd(
  request: Int,
  extract_id: Int)
}

Тогда:

DF.as[rcd].take(DF.count.toInt).foreach(e => { // DF is a dataframe that contains data

if <condition> {
       ss.sql(s"""INSERT INTO mytable select $e.request ,'$e.extract_id'""")
}

Я получаю сообщение об ошибке:

Неопределенная функция: 'rcd'. Эта функция не является ни зарегистрированной временной функцией, ни постоянной функцией, зарегистрированной в базе данных «default».;

Кроме того, что такое 'default', что Spark упоминалось в предыдущем сообщении

Любые комментарии будут оценены

1 Ответ

1 голос
/ 10 января 2020

Вы зарегистрировали свою функцию udf?

Если нет, зарегистрируйте функцию udf в реестре UDF SQLContext.

sqlContext.udf.register("RCD", rcd)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...