处理 Spark 中的重复数据 dataframes/datasets

Handling repetetive data in Spark dataframes/datasets

我是 Spark 和 Scala 的新手,即使阅读了各种文档,我仍然无法找到解决问题的最佳方法。

我有一个相当大的数据集 (~TB),可以按如下方式加载到数据框中:

  1. 100 万行

  2. 列为 timedataInfo1Info2

  3. 除了 time 是一个浮点数,其他都是大小为 ~200K 的浮点数数组。

  4. Info1Info2 对于所有行都是相同的。

  5. dataframes/data组似乎无法访问共享变量(如广播变量)。

  6. 行可以是大小写 类 但它们在 Spark 中不能有静态 variables/companion 对象。

  7. 行不能是规则的类.

  8. 唯一的出路似乎有冗余,info1info2 在所有列中都是相同的,但在这些情况下似乎非常昂贵。

  9. 使用crossJoin可能沟通成本过高

对于在 Spark 中表示数据的任何输入,我将不胜感激。

TIA。

以下是最简单的解决方案之一,其中添加了一个带有常量的新列:

val arr = Array(12.223F, 12.1F, 213.21F)
val df1 = df2.withColumn("info", lit(arr))