gpt4 book ai didi

performance - 如何有效地从 Spark 中的每一列中找到不同的值

转载 作者:行者123 更新时间:2023-12-01 00:50:23 27 4
gpt4 key购买 nike

Array 的每一列中查找不同的值我试过

RDD[Array[String]].map(_.map(Set(_))).reduce { 
(a, b) => (a.zip(b)).map { case (x, y) => x ++ y}}

成功执行。但是,我想知道是否有比上面的示例代码更有效的方法。谢谢你。

最佳答案

聚合节省了一个步骤,可能会也可能不会更有效

val z = Array.fill(5)(Set[String]()) // or whatever the length is
val d= lists.aggregate(z)({(a, b) => (a.zip(b)).map { case (x, y) => x + y}},
{(a, b) => (a.zip(b)).map { case (x, y) => x ++ y}})

您还可以尝试使用可变集并在每一步修改而不是生成一个新集(Spark 明确允许):
val z = Array.fill(5)(scala.collection.mutable.Set[String]())
val d= lists.aggregate(z)({(a, b) => (a.zip(b)).foreach { case (x, y) => x+= y };a},
{(a, b) => (a.zip(b)).foreach { case (x, y) => x ++= y};a})

关于performance - 如何有效地从 Spark 中的每一列中找到不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31623897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com