spark如何将列表展平
时间: 2024-02-25 07:28:55 浏览: 147
在 Spark 中,您可以使用 flatMap() 函数将列表展平。flatMap() 函数接受一个函数作为参数,该函数将每个元素映射到一个列表,并将所有列表合并为一个大列表。下面是一个使用 flatMap() 函数将嵌套列表展平的示例代码:
```python
from pyspark.sql.functions import explode, col
# 创建一个包含嵌套列表的DataFrame
df = spark.createDataFrame([(1, [2, 3]), (4, [5, 6, 7])], ['id', 'list'])
# 使用explode函数展开列表
df = df.select(col('id'), explode(col('list')).alias('item'))
# 展开后的结果
df.show()
```
输出:
```
+---+----+
| id|item|
+---+----+
| 1| 2|
| 1| 3|
| 4| 5|
| 4| 6|
| 4| 7|
+---+----+
```
在上面的示例中,我们使用 explode() 函数展开了列表,并使用 alias() 函数指定了新列的名称。您可以根据需要更改列名。
阅读全文