Zeppelin SqlContext registerTempTable issue



我正在尝试使用齐柏林飞艇中的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: 字符串, 主题标签: 数组, 分数: 结构,会话: 字符串,时间戳:bigint,tweetId:bigint,用户名:字符串]导入 sqlContext.implicits.

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

sqlCon.tableNames().foreach(println)

输出:

j表01

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

%sql
select * from jTable01

输出:

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

同时,当我运行"银行"的教程示例时,它可以工作....我能找出的唯一区别是,在银行教程中,我们使用sc.textFile,但就我而言,我想使用sqlContext.jsonFile。

您能否提供有关如何解决此问题的任何指导?

发现解决方案已删除

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

从我的代码并使用齐柏林飞艇默认 sqlContext它有效!!

就我而言,在我删除之前没有任何解决方法

import org.apache.spark.sql.SQLContext

相关内容

  • 没有找到相关文章

最新更新