处理 Spark 中的重复数据 dataframes/datasets
Handling repetetive data in Spark dataframes/datasets
我是 Spark 和 Scala 的新手,即使阅读了各种文档,我仍然无法找到解决问题的最佳方法。
我有一个相当大的数据集 (~TB),可以按如下方式加载到数据框中:
100 万行
列为 time
、data
、Info1
、Info2
。
除了 time
是一个浮点数,其他都是大小为 ~200K 的浮点数数组。
Info1
和 Info2
对于所有行都是相同的。
dataframes/data组似乎无法访问共享变量(如广播变量)。
行可以是大小写 类 但它们在 Spark 中不能有静态 variables/companion 对象。
行不能是规则的类.
唯一的出路似乎有冗余,info1
和 info2
在所有列中都是相同的,但在这些情况下似乎非常昂贵。
使用crossJoin
可能沟通成本过高
对于在 Spark 中表示数据的任何输入,我将不胜感激。
TIA。
以下是最简单的解决方案之一,其中添加了一个带有常量的新列:
val arr = Array(12.223F, 12.1F, 213.21F)
val df1 = df2.withColumn("info", lit(arr))
我是 Spark 和 Scala 的新手,即使阅读了各种文档,我仍然无法找到解决问题的最佳方法。
我有一个相当大的数据集 (~TB),可以按如下方式加载到数据框中:
100 万行
列为
time
、data
、Info1
、Info2
。除了
time
是一个浮点数,其他都是大小为 ~200K 的浮点数数组。Info1
和Info2
对于所有行都是相同的。dataframes/data组似乎无法访问共享变量(如广播变量)。
行可以是大小写 类 但它们在 Spark 中不能有静态 variables/companion 对象。
行不能是规则的类.
唯一的出路似乎有冗余,
info1
和info2
在所有列中都是相同的,但在这些情况下似乎非常昂贵。使用
crossJoin
可能沟通成本过高
对于在 Spark 中表示数据的任何输入,我将不胜感激。
TIA。
以下是最简单的解决方案之一,其中添加了一个带有常量的新列:
val arr = Array(12.223F, 12.1F, 213.21F)
val df1 = df2.withColumn("info", lit(arr))