将databricks中的pyspark dataframe列转换为列表而不使用rdd



我试图收集databricks中pyspark dataframe列的值作为列表。

当我使用collect函数

df.select('col_name').collect()

,我得到一个带有额外值的列表。

基于某些搜索的,使用.rdd.flatmap()将达到这个目的

然而,出于一些安全原因(它说rdd不在白名单中),我不能执行或使用rdd。是否有其他方法可以将列值收集为列表?

如果你有一个小的数据框架,假设你只有一列,我建议将它转换为pandas数据框架,并使用tolist()函数。

pdf = df.toPandas()
pdf_list = pdf['col_name'].tolist()

你的输出应该像下面这样:

['value1','value2','value3']

希望对你有帮助

最新更新