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?
Potete fornire il codice necessario per utilizzare l'impostazione predefinita SqlContext? – turkenh
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) –
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 ** –