ENV:私は[sessionTrend]空のデータフレームを作成し、既存のデータフレーム[SQL Serverデータベースのテーブルから作成DF2、]でunionAllをやっている1.6、Scalaのspark tempTableの問題、テーブルが存在しません?の解き方?
こんにちは
スパーク、データフレームをもたらし、sessionTrendが正常に動作しています。しかし、sessionTrendデータフレームを一時テーブルとして登録した後、エラーテーブルのためにselectステートメントを実行できません。
val schemaRDD = StructType(
StructField("SessionCount", IntegerType, true) ::
StructField("SampleTime", TimestampType, false) ::
StructField("Program_ID", IntegerType, true) :: Nil)
var sessionTrend = sqlcontext.createDataFrame(sc.emptyRDD[Row], schemaRDD)
val run_id_q= new Queue[Int]
for (i <- 1 to 10)
{
run_id_q += i
sessionTrend = sessionTrend.unionAll(DF2) // DF2 is a data set with same schema as sessionTrend
if (run_id_q.length >=3) {
v_run_id = run_id_q.dequeue()
sessionTrend = sessionTrend.filter(sessionTrend("run_id")>v_run_id)
}
sessionTrend.show() // working fine and displaying expected result
sessionTrend.registerTempTable("memTBL")
val myData= hivecontext.sql("select * from memTBL") // ERROR: Table memTBL does not exit
}
この問題を解決するための提案はありますか?実際には、私は常に最新の3つのレコードを持つデータフレームを作成しようとしています。
おかげ
ホサイン
'sqlcontext'は、テーブルを作成したために使用します。アクセスは 'sqlcontext.sql(" select * from memTBL ")' – mrsrinivas
ありがとう@mrsrinivasです。実際には、私はhivecontextが必要です。あなたの方向は正しい。 – Jhon