0

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

4

1 に答える 1