是否可以使用collect
或take
操作仅打印给定的DataFrame列?
此
df.col.collect()
给出错误
TypeError:'列'对象不可调用
和此:
df[df.col].take(2)
给出
pyspark.sql.utils.AnalysisException:u"过滤表达式' col' string类型不是布尔值。;"
答案 0 :(得分:21)
select
和show
:
df.select("col").show()
或select
,flatMap
,collect
:
df.select("col").rdd.flatMap(list).collect()
括号表示法(df[df.col]
)仅用于逻辑切片,而列本身(df.col
)不是分布式数据结构,而是SQL表达式,无法收集。