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"
私も「provided」で試しました。
ここに私のコードがあります
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 テーブルはどこにありますか? これを探すことができるスパークのデフォルトデータベースはありますか? 私はスパークシェルが好きではありません。