HI Coders,我又回来了。我正在尝试在我的 scala 代码中使用 HIve 上下文从数据帧创建一个配置单元表,我能够在 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()
有什么解决办法吗?我从来没有遇到过这个“不可访问”的错误。
而且我还尝试从代码中创建一个 temptable
val dataframe =sqlContext.read.json(rdd.map(_._2))
val df =dataframe.toDF()
df.registerTempTable("mdl_events")
但是我在哪里可以找到 mdl_events 表?spark中是否有任何默认数据库可以在其中查找?不过,我不喜欢火花壳。