2015-06-13 6 views
7

Ich versuche, einige json Daten mit sqlContext.jsonFile in zeppelin zugreifen ...Zeppelin SqlContext registerTempTable Ausgabe

folgenden Code ausführen ohne Fehler:

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") 

output :

import sys.process._ sqlCon: org.apache.spark.sql.SQLContext = [email protected] 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.

neben ich die Tabelle überprüfen Name, den ich registriert nur

sqlCon.tableNames().foreach(println)

output :

jTable01

aber wenn ich versuche folgendes zu laufen bekomme ich einen Fehler:

%sql 
select * from jTable01 

output :

no such table jTable01; line 1 pos 14

zur gleichen Zeit, als ich das Tutorial Beispiel laufen für „Bank“ es funktioniert .... der einzige Unterschied Ich konnte feststellen, dass in der Bank-Tutorial verwenden wir sc.textFile, aber in meinem Fall wollte ich sqlContext.jsonFile verwenden.

Könnten Sie mir bitte eine Anleitung geben, wie ich dieses Problem beheben kann?

Antwort

7

fand die Lösung entfernt

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

von meinem Code und verwendet zeppelin Standard SqlContext und es funktioniert !!!

+0

Können Sie den Code liefern SqlContext den Standard verwenden benötigt? – turkenh

+1

Import sys.process._ val JFile = ** ** SqlContext jsonFile (s "file: ///usr/local/src/knoldus/projects/scaladay_data/scalaDays2015Amsterdam_tweets.json"). jfile.registerTempTable (“ jTable01 ") ** sqlContext **. tableNames(). foreach (println) –

+0

es gibt ein Problem mit den Zeilenumbrüchen in meiner obigen Antwort bitte Zeilenumbruch vor ** val jfile ** und ** jfile.registerTempTable * * und ** sqlContext.tableNames ** –

0

In meinem Fall nichts beschlossen, bis ich entfernt

import org.apache.spark.sql.SQLContext