Cav*_*lez 4 pyspark pyspark-dataframes
我正在尝试将数据框中的列值列表提取到列表中
+------+----------+------------+
|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 |
+------+----------+------------+
Run Code Online (Sandbox Code Playgroud)
输出应该是 sno_id ['123','234','512','111'] 然后我需要迭代列表以对每个列表值运行一些逻辑。我目前正在使用 HiveWarehouseSession 通过使用 hive.executeQuery(query) 从 hive 表中获取数据到 Dataframe
感谢你的帮助。
这很容易,因为您可以先收集 df 并返回行类型列表然后
row_list = df.select('sno_id').collect()
Run Code Online (Sandbox Code Playgroud)
然后您可以迭代行类型以将列转换为列表
sno_id_array = [ row.sno_id for row in row_list]
sno_id_array
['123','234','512','111']
Run Code Online (Sandbox Code Playgroud)
使用平面地图和更优化的解决方案
sno_id_array = df.select("sno_id ").rdd.flatMap(lambda x: x).collect()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10353 次 |
| 最近记录: |