2016-04-06 4 views
2

私はローカルモードで実行されているpyspark(1.6.1)を使用しています。 私はCSVファイルからのデータフレームを持っており、dense_rank()カラムを追加する必要があります。 sqlContextはウィンドウ関数をサポートしていませんが、HiveContextはサポートしています。ハイブコンテキストがpysparkで一時テーブルを認識しない - AnalysisException:「テーブルが見つからない」

hiveContext = HiveContext(sc) 
df.registerTempTable("visits") 
visit_number = hiveContext.sql("select store_number, " 
           "dense_rank() over(partition by store_number order by visit_date) visit_number " 
           "from visits") 

私はエラーを取得しています: AnalysisException:u'Tableが見つかりません:訪問。警告後

:ObjectStoreの警告は:前の質問を読んだ後NoSuchObjectException

を返し、データベースのデフォルトの取得に失敗しました、私はハイブの正確な場所であることをconfに/ hive_defaults.xmlでConnectionURLを変更しようとしましたディレクトリ、成功なし。

誰でも問題がありますか?

ありがとうございます!あなたはregisterTempTable

MyDataFrame <- read.df(sqlContext, CsvPath, source = "somthing.csv", header = "true") 

とその前後のデータフレームを作成する必要があります

+1

**解決しよう**どうやら、私がしなければならなかったすべては、私が作成したhiveContextを削除し、HiveContextにSQLContextからsqlContextを切り替えています。 同じPythonスクリプトで(sqlContextとhiveContextの両方を)作成するだけでは機能しませんでした。 質問自体は繰り返しますが、私は解決策を見ていませんでした。それが誰かを助けることを願っています。 – user3318421

答えて

0

registerTempTable(MyDataFrame, "visits") 
+0

dfはすでにcsvファイルからのデータフレームです。 DF = sqlContext.read.load( 'df.csv'、 フォーマットは= 'com.databricks.spark.csv'、 ヘッダ= '真'、 inferSchema = '真') – user3318421

+0

いますが、表示されませんでした... –

0

結果: 削除SQLContextとHiveContextのみを使用し、すべてが正常に動作します。

+0

SQLContextはデータを収集することです.HiveContextのfrom claseのビューと似ています –

関連する問題