python3lde_spark expolde函数

This blog discusses Spark SQL's explode functions, including 'explode', 'explode_outer', 'posexplode', and 'posexplode_outer', and demonstrates their usage on array and map columns. It explains how these functions handle null or empty values and create rows for each element in arrays or maps." 40793633,1345311,匈牙利算法C++实现与应用,"['算法', 'C++编程', '匹配问题', '资源分配', '优化']
摘要由CSDN通过智能技术生成

Spark函数explode(e: Column)用于爆炸或创建数组或将列映射到行。将数组传递给此函数时,它将创建一个新的默认列“ col1”,其中包含所有数组元素。传递地图时,它将创建两个新列,一个列用于键,一个列用于值,并且映射中的每个元素均拆分为该行。

这将忽略具有null或为空的元素。从上面的示例可以看出,Washington和Jefferson在数组和映射中具有空值或空值,因此以下摘录不包含这些行。

爆炸-数组列示例

df.select($"name",explode($"knownLanguages"))

.show(false)

输出:

+-------+------+

|name   |col   |

+-------+------+

|James  |Java  |

|James  |Scala |

|Michael|Spark |

|Michael|Java  |

|Michael|null  |

|Robert |CSharp|

|Robert |      |

+-------+------+

爆炸–地图列示例

df.select($"name",explode($"properties"))

.show(false)

输出:

+-------+----+-----+

|name   |key |value|

+-------+----+-----+

|James  |hair|black|

|James  |eye |brown|

|Michael|hair|brown|

|Michael|eye |null |

|Robert |hair|red  |

|Robert |eye |     |

+-------+----+-----+

explode_outer –为数组或映射中的每个元素创建行。

Spark SQL explode_outer(e: Column) 函数用于为数组或映射列中的每个元素创建一行。与explode不同,如果数组或映射为null或为空,则explode_outer返回null。

explode_outer –数组示例

df.select($"name",explode_outer($"knownLanguages"))

.show(false)<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值