shuffle:数组随机排列
速查结论
shuffle(array) 是 Spark SQL 中用于返回给定数组的一个随机排列的函数。
语法
shuffle(array)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| array | ARRAY<T> | 输入的数组 |
Examples
> SELECT shuffle(array(1, 20, 3, 5));
[3,1,5,20]
> SELECT shuffle(array(1, 20, null, 3));
[20,null,3,1]
常见报错与避坑指南
- 该函数是非确定性的:每次调用
shuffle都可能返回不同的排列结果,因此不适合用于需要确定性输出的场景。 - NULL 元素也会参与随机排列:如果输入数组中包含 NULL 元素,它们会像普通元素一样出现在返回数组的随机位置。
Since: 2.4.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
