Zeppelin SqlContext registerTempTable问题

时间:2015-06-13 13:13:33

标签: scala apache-spark apache-spark-sql apache-zeppelin

我试图在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")
  

输出:

     

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:   结构,会话:   string,timestamp:bigint,tweetId:bigint,username:string] import   sqlContext.implicits。

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

sqlCon.tableNames().foreach(println)

  

输出:

     

jTable01

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

%sql
select * from jTable01
  

输出:

     

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

同时我为" bank"运行教程示例有用.... 唯一的区别是我在银行教程中使用 sc.textFile 但在我的情况下我想使用 sqlContext.jsonFile。

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

2 个答案:

答案 0 :(得分:8)

找到解决方案已删除

val sqlCon = new org.apache.spark.sql.SQLContext(sc)

从我的代码中使用zeppelin默认 sqlContext 它的工作原理!!!

答案 1 :(得分:0)

在我的情况下,在删除

之前没有解决任何问题
import org.apache.spark.sql.SQLContext