2017-02-22 3 views
0

私はSQLContextを使ってデータを読み込んで、SQLクエリを実行しようとしています。私はエラーを受け取りました。私は適切にWHERE句を記述することはできませんのでPySpark:RegisterTempTable Headersを失う

%pyspark 

from pyspark.sql import SQLContext 
sqlCtx = SQLContext(sc) 
data = sqlCtx.read.csv("s3://recs-emr-sandbox/mtcars.csv", header=True, inferSchema=True) 
data.registerTempTable("data") 
spark.sql("SELECT * from data").show() 

私は結果を得るが、私のヘッダがなくなっている、したがって、基本的には役に立たない:ここに私のコードです。

ここで私は間違っていますか?おかげ

答えて

0

あなたが最初のテーブルを登録する必要があります。

data = sqlCtx.read.csv(...) 
df.registerTempTable("data") 
sqlContext.sql(...) 
+0

は私が試したことの正確なコマンド:。df.registerTempTable( "データ")、その後、私のsqlContext.sql( "*フォームデータを選択する")ショー()同じエラーになります。輸入がありませんか? – Bachzen

+0

テーブルを作成することができますが、今はヘッダがありません。 – Bachzen

+0

@Bachzenでは、データ元のスキーマと同じヘッダ名を使用できます。 –

関連する問題