2017-02-22 65 views
0

我已經使用SQLContext讀取數據並希望在其上運行SQL查詢。我收到了錯誤。這裏是我的代碼:PySpark:RegisterTempTable丟失頭文件

%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() 

我得到一個結果,但我的頭都不見了,因此基本上是無用的,因爲我不能正確地寫一個WHERE子句。

我在哪裏錯了?由於

回答

0

你必須先登記表:

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

我試過了確切的指令:df.registerTempTable( 「數據」),然後我sqlContext.sql( 「SELECT *表單數據」)顯示()併發生同樣的錯誤。我是否錯過了導入? – Bachzen

+0

能夠創建表格,但現在沒有標題... – Bachzen

+0

@Bachzen您可以使用與數據原始模式相同的標題名稱。 –