2015-06-13 4 views
7

Sto cercando di accedere ad alcuni dati JSON utilizzando sqlContext.jsonFile in zeppelin ...Zeppelin SqlContext registerTempTable problema

seguente codice eseguire senza alcun errore:

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.

dopo ho verificare la tavola nome che mi sono appena iscritto

sqlCon.tableNames().foreach(println)

output :

jTable01

ma quando provo a correre dopo ottengo un errore:

%sql 
select * from jTable01 

output :

no such table jTable01; line 1 pos 14

allo stesso tempo quando si esegue l'esempio di tutorial per "banca" funziona .... l'unica differenza Potrei capire che nel tutorial bancario stiamo usando sc.textFile ma nel mio caso volevo usare sqlContext.jsonFile.

potresti fornire indicazioni su come risolvere questo problema?

risposta

7

trovato la soluzione rimosso

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

dal mio codice e utilizzato di default zeppelin SqlContext e funziona !!!

+0

Potete fornire il codice necessario per utilizzare l'impostazione predefinita SqlContext? – turkenh

+1

importazione 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

c'è qualche problema con le interruzioni di riga nella mia risposta di cui sopra line-break prima di ** val jfile ** e ** jfile.registerTempTable * * e ** sqlContext.tableNames ** –

0

Nel mio caso non risolto fino a quando ho rimosso

import org.apache.spark.sql.SQLContext