Pyspark,TypeError:'Column'对象不可调用

时间:2018-05-09 22:08:11

标签: pyspark pyspark-sql

如何打印执行以下操作的列的内容? 我正在尝试打印abcd列的内容,在正常的df中,我可以df.show()

但是如何显示列对象?

>>> df = spark.createDataFrame([
...     ('a', 1.0, 1.0), ('a',1.0, 0.2), ('b', 1.0, 1.0),
...     ('c' ,1.0, 0.5), ('d', 0.55, 1.0),('e', 1.0, 1.0)
... ])
>>> df.show()
+---+----+---+                                                                  
| _1|  _2| _3|
+---+----+---+
|  a| 1.0|1.0|
|  a| 1.0|0.2|
|  b| 1.0|1.0|
|  c| 1.0|0.5|
|  d|0.55|1.0|
|  e| 1.0|1.0|
+---+----+---+

>>> abcd = spark_sum(
...     when(
...         spark_abs(
...             df['_2'] -
...             df['_3']
...         ) < 0.05,
...         "odt"
...     ).otherwise(0)
... ).alias(
...     'yo,man'
... )

如何打印出abcd的内容?

>>> abcd
Column<sum(CASE WHEN (abs((_2 - _3)) < 0.05) THEN odt ELSE 0 END) AS `yo,man`>

1 个答案:

答案 0 :(得分:1)

  

如何打印出abcd的内容?

非常简单。选择并显示:

df.select(abcd).show()