要列出的 Pyspark 数据框列

Pyspark dataframe column to list

我正在尝试将列值列表从数据框中提取到列表中

+------+----------+------------+
|sno_id|updt_dt   |process_flag|
+------+----------+------------+
| 123  |01-01-2020|     Y      |
+------+----------+------------+
| 234  |01-01-2020|     Y      |
+------+----------+------------+
| 512  |01-01-2020|     Y      |
+------+----------+------------+
| 111  |01-01-2020|     Y      |
+------+----------+------------+

输出应该是 sno_id ['123','234','512','111'] 的列表 然后我需要将列表迭代到 运行 列表值中每个值的一些逻辑。我目前正在使用 HiveWarehouseSession 通过使用 hive.executeQuery(query)

从 hive table 中获取数据到 Dataframe

感谢您的帮助。

这很容易,因为您可以先使用 return 行类型列表收集 df,然后

row_list = df.select('sno_id').collect()

然后您可以迭代行类型以将列转换为列表

sno_id_array = [ row.sno_id for row in row_list]

sno_id_array 
['123','234','512','111']

使用平面地图和更优化的解决方案

sno_id_array = df.select("sno_id ").rdd.flatMap(lambda x: x).collect()