Объект HiveContext в пакете куст не доступен в пакете
Привет, кодеры, я снова вернулся. Я пытаюсь создать таблицу кустов из фрейма данных, используя контекст HIve в моем коде Scala, я могу сделать это в sqlContext, но когда дело доходит до HiveContext, он выдает эту ошибку
[error] /home/mapr/avroProject/src/main/scala/AvroConsumer.scala:75: object HiveContext in package hive cannot be accessed in package org.apa che.spark.sql.hive
[error] HiveContext sqlContext = new org.apache.spark.sql.hive.HiveContext(sc.sc());
Я тоже попробовал то же самое с немного другими объявлениями,
val hiveContext = org.apache.spark.sql.hive.HiveContext(sc)
Я также добавил зависимости sbt библиотеки,
libraryDependencies + = "org.apache.spark"% "spark-hive_2.10"% "1.6.1"
Я попытался с "при условии" также.
Вот мой кусок кода
messages.foreachRDD(rdd=>
{
import org.apache.spark.sql.hive.HiveContext
HiveContext sqlContext = new org.apache.spark.sql.hive.HiveContext(sc.sc());
//import org.apache.spark.sql.hive._
//val dataframe = sqlContext.read.json(rdd.map(_._2))
val dataframe =sqlContext.read.json(rdd.map(_._2))
val df =dataframe.toDF()
Любое исправление на этом? Я никогда не сталкивался с этой "недоступной" ошибкой.
А также я пытался создать соблазнительный из кода
val dataframe =sqlContext.read.json(rdd.map(_._2))
val df =dataframe.toDF()
df.registerTempTable("mdl_events")
Но где я могу найти таблицу mdl_events? есть ли база данных по умолчанию в спарк, где я могу найти это? Я не могу любить искровую оболочку, хотя.
1 ответ
Привет, я понял это, с 1.3v spark, hivecontext доступен как SqlContext по умолчанию. Так что явный вызов Hivecontext не приветствуется. Приведенный ниже код может помочь преодолеть эту проблему,
messages.foreachRDD(rdd=>
{
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
import sqlContext.implicits._
val dataframe =sqlContext.read.json(rdd.map(_._2))
val df =dataframe.toDF()
})