2016-07-13 3 views
3

私はJupyterノートブックを使ってpySparkを分析しています。私のコードは、最初にsqlContext = SQLContext(sc)を使ってデータフレームを構築しましたが、今度はHiveContextに切り替えました。pySpark(jupyter)でHiveContext createDataFrameが機能しない

私の問題は、データフレームを作成しようとすると、今、私はJavaのエラーを取得していますということです。この後

## Create new SQL Context. 
from pyspark.sql import SQLContext 
from pyspark.sql import DataFrame 
from pyspark.sql import Window 
from pyspark.sql.types import * 
import pyspark.sql.functions as func 

sqlContext = HiveContext(sc) 

私はRDDに私のデータを読み、私のDFのスキーマを作成します。

## After loading the data we define the schema. 
fields = [StructField(field_name, StringType(), True) for field_name in data_header] 
schema = StructType(fields) 

、私はこれは私が取得エラーですDFを構築しよう:

## Build the DF. 
data_df = sqlContext.createDataFrame(data_tmp, schema) 

--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
... 
/home/scala/spark-1.6.1/python/pyspark/sql/context.pyc in _get_hive_ctx(self) 
    690 
    691  def _get_hive_ctx(self): 
--> 692   return self._jvm.HiveContext(self._jsc.sc()) 
    693 
    694  def refreshTable(self, tableName): 

TypeError: 'JavaPackage' object is not callable 

私がこれまで運なしでそれをグーグルでてきました。アドバイスをいただければ幸いです。

+0

あなたは私が右だ、自分でスパークを構築しているように見えますか?これが当てはまる場合は、その方法に関するいくつかの詳細を提供できますか? – zero323

+0

@ zero323はい、私はこれに非常に類似したチュートリアルに従いました:http://blog.prabeeshk.com/blog/2014/10/31/install-apache-spark-on-ubuntu-14-dot-04 /。それは設定の問題のように見えますか?私はあなたがこれを解決する方法についてアドバイスをしているなら、再インストールしたいと思います。ありがとう。 –

答えて

1

HiveContextハイブをサポートするバイナリビルドが必要です。これは、Hiveプロファイルを有効にする必要があることを意味します。あなたは少なくとも必要sbt assembly使用しているので:

sbt -Phive assembly 

同じ例えば、Mavenのを構築する際に必要になります。

mvn -Phive -DskipTests clean package 
+0

ありがとう、私は 'sbt -Phive assembly'を試しましたが、今は' Not a valid command:Phive'という文句を言っています。アセンブリを試す前に、何かをダウンロードしたり、他のアクションを実行する必要がありますか? –

+0

私は正しいとは思わない。そこに何もないことは確かですか? sbtがインストールされていますか?そうでなければ 'build/sbt'を使うことができます。 – zero323

+0

sbtがインストールされていますが、コマンドを実行するとコンパイルが開始されますが、数分後に失敗します。ここにsbtの完全な出力ログがあります。 - Phiveアセンブリ:http://pastebin.com/yMDzk5WDご意見はありますか?私はHiveContextのすべての関数にアクセスすることなくここにこだわっています。 –

関連する問題