小编Nih*_*ani的帖子

Zeppelin SqlContext registerTempTable问题

我试图在zeppelin中使用sqlContext.jsonFile访问一些json数据...

以下代码执行没有任何错误:

import sys.process._
val sqlCon = new org.apache.spark.sql.SQLContext(sc)
val jfile = sqlCon.jsonFile(s"file:///usr/local/src/knoldus/projects/scaladay_data/scalaDays2015Amsterdam_tweets.json")

import sqlContext.implicits._
jfile.registerTempTable("jTable01")
Run Code Online (Sandbox Code Playgroud)

输出:

import sys.process._ sqlCon:org.apache.spark.sql.SQLContext = org.apache.spark.sql.SQLContext@7034473 jfile:org.apache.spark.sql.DataFrame = [ id:struct,content:string, hashtags:array,score:struct,session:string,timestamp:bigint,tweetId:bigint,username:string] import sqlContext.implicits.

接下来我验证我刚刚注册的表名

sqlCon.tableNames().foreach(println)

输出:

jTable01

但是当我尝试运行以下时出现错误:

%sql
select * from jTable01
Run Code Online (Sandbox Code Playgroud)

输出:

没有这样的表jTable01; 第1行pos 14

同时,当我运行"银行"的教程示例时,它可以工作....我能解决的唯一区别是在银行教程中我们使用sc.textFile但在我的情况下我想使用sqlContext.jsonFile.

你可以提供任何指导,我可以解决这个问题吗?

scala apache-spark apache-spark-sql apache-zeppelin

7
推荐指数
1
解决办法
4596
查看次数