7

zeppelin で 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: 構造体、コンテンツ: 文字列、ハッシュタグ: 配列、スコア: 構造体、セッション: 文字列、タイムスタンプ: bigint、tweetId: bigint、ユーザー名: 文字列] sqlContext.implicits をインポートします。

次に、登録したテーブル名を確認します

sqlCon.tableNames().foreach(println)

出力:

jTable01

しかし、次のように実行しようとすると、エラーが発生します。

%sql
select * from jTable01

出力:

そのようなテーブルはありません jTable01; 行 1 位置 14

同時に、「銀行」のチュートリアルの例を実行すると機能します....銀行のチュートリアルではsc.textFileを使用していますが、私の場合はsqlContext.jsonFileを使用したかったという唯一の違いがあります。

この問題を解決する方法について、何かガイダンスを提供していただけますか?

4

2 に答える 2

8

ソリューションが削除されたことを発見

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

私のコードから、ツェッペリンのデフォルトのsqlContext を使用しましたが、動作します!!!

于 2015-06-13T17:43:58.437 に答える
0

私の場合、削除するまで何も解決しませんでした

import org.apache.spark.sql.SQLContext
于 2016-06-07T10:46:18.560 に答える