2015-06-13 13 views
7

Я пытаюсь получить доступ к некоторым данным JSon использования sqlContext.jsonFile в дирижабле ...Цеппелин SqlContext registerTempTable вопрос

следующего кода выполнить без ошибок:

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.

рядом я проверить таблицу имя, которое я только что зарегистрировался

sqlCon.tableNames().foreach(println)

output :

jTable01

, но когда я пытаюсь запустить следующий я получаю сообщение об ошибке:

%sql 
select * from jTable01 

output :

no such table jTable01; line 1 pos 14

в то же самое время, когда я бегу учебник пример для «банк» работает .... единственное отличие Я мог понять, что в учебнике по банку мы используем sc.textFile, но в моем случае я хотел использовать sqlContext.jsonFile.

не могли бы вы предоставить какие-либо указания, как я могу исправить эту проблему?

ответ

7

нашел решение удалить

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

из моего кода и используемый по умолчанию Цеппелин sqlContext и это работает !!!

+0

Можете ли вы предоставить код, необходимый для использования по умолчанию sqlContext? – turkenh

+1

импорт sys.process._ вал JFile = ** sqlContext ** jsonFile (s "Файл: ///usr/local/src/knoldus/projects/scaladay_data/scalaDays2015Amsterdam_tweets.json"). jfile.registerTempTable (» jTable01 ") ** sqlContext **. tableNames(). foreach (println) –

+0

есть некоторая проблема с разрывами строк в моем ответе, пожалуйста, разделите строки перед ** val jfile ** и ** jfile.registerTempTable * * и ** sqlContext.tableNames ** –

0

В моем случае ничего не решен, пока я не удален

import org.apache.spark.sql.SQLContext