【发布时间】:2016-03-30 11:02:54
【问题描述】:
考虑一下我在 scala 中下面数据框中的架构。
root
|-- phonetic: string (nullable = true)
|-- sigID: long (nullable = true)
我基本上是按音标分组的。
featuers.rdd.groupBy(x => x.apply(0))
下面会给我一个rdd
(abc,([1],[2],[3]))
(def,([9],[8]))
如何将其展平以获得 (key,([value-a,value-b])) 的笛卡尔坐标
abc,1,2
abc,1,3
abc,2,3
def,9,8
....
谢谢
【问题讨论】:
-
将 itertools.combinations 与来自 PySpark API 的
map结合使用。 (假设您使用的是 PySpark - 这在我看来更像 Scala...) -
是的,我正在使用 scala。 scala中是否有等价物?
-
老实说,如果不使用
groupBy并将其保留为DataFrame可能会更容易 -
@KrishnaKalyan Scala 中的
Seq类(List和其他序列的基类)非常强大,包括一个原生的combinations。将您的值映射到 Seq 并获取您的组合。 -
如果
phonetic只有一个值怎么办?
标签: apache-spark