2017-03-07 63 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"))