2017-03-07 65 views
0

應該是一個容易回答的問題...我做錯了嗎?我可以不投多個列嗎?鑄造多列astype

>>> val results2 = results.select(results["HCAHPS Base Score"].cast(IntegerType).as(results["HCAHPS Base Score"]), results["HCAHPS Consistency Score"].cast(IntegerType).as(results["HCAHPS Consistency Score"])) 
File "<stdin>", line 1 
val results2 = results.select(results["HCAHPS Base Score"].cast(IntegerType).as(results["HCAHPS Base Score"]), results["HCAHPS Consistency Score"].cast(IntegerType).as(results["HCAHPS Consistency Score"])) 
      ^
SyntaxError: invalid syntax 

語法錯誤不斷彈出對周圍的逗號...

+0

爲什麼''val''僅使用''結果2 = results.select(結果[ 「HCAHPS基本分數」]。鑄造(IntegerType)。如(結果[ 「HCAHPS基本分數」]),結果[ 「HCAHPS一致性評分」]。cast(IntegerType).as(results [「HCAHPS一致性評分」)))'' –

+0

仍然會出現語法錯誤,這次在第一個引號結束後的最後:result [「HCAHPS一致性評分「]) –

+0

現在是什麼錯誤? –

回答

2

試試這個。我想這是pySpark的問題,目前正在PySpark

results2 = results.select(results["HCAHPS Base Score"].cast(IntegerType()).alias("HCAHPS Base Score"), results["HCAHPS Consistency Score"].cast(IntegerType()).alias("HCAHPS Consistency Score")) 

標記在Scala中,您可以嘗試以下。

val results2 = results.select(results["HCAHPS Base Score"].cast(IntegerType).as("HCAHPS Base Score"), results["HCAHPS Consistency Score"].cast(IntegerType).as("HCAHPS Consistency Score"))