You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark Scala中如何调整两个数组/数据集的内部元素数量至相同?

解决Scala数组长度对齐问题

嗨,这事儿好办!我们只需要先算出两个数组的长度差,然后给data1补充对应数量的Array(0.0, 0.0)就行,具体步骤和代码如下:

步骤1:获取两个数组的内部元素数量

先拿到data1和data2各自包含的内部数组个数:

val data1Size = data1.length
val data2Size = data2.length

步骤2:计算需要补充的元素数量

算出data2比data1多的内部数组个数(如果data1本身更长,就不需要补充任何元素):

val numToAdd = math.max(data2Size - data1Size, 0)

步骤3:生成补充数组并完成拼接

用Array.fill生成指定数量的Array(0.0, 0.0),再和原data1拼接在一起:

val alignedData1 = data1 ++ Array.fill(numToAdd)(Array(0.0, 0.0))

验证结果

针对你的示例数据,data2有4个内部数组,data1原本有3个,所以会自动补充1个Array(0.0, 0.0),最终alignedData1的结构就是:

Array(Array(1.0, 100.0), Array(0.7, 100.0), Array(0.8, 50.0), Array(0.0, 0.0))

内容的提问来源于stack exchange,提问作者pooja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:54:06