gpt4 book ai didi

scala - 将 Spark DataSet 行值映射到新的哈希列

转载 作者:行者123 更新时间:2023-12-04 05:46:00 27 4
gpt4 key购买 nike

鉴于以下 DataSet值为 inputData :

column0 column1 column2 column3
A 88 text 99
Z 12 test 200
T 120 foo 12

在 Spark 中,计算新 hash 的有效方法是什么?列,并将其附加到新的 DataSet , hashedData ,其中 hash定义为 MurmurHash3的应用超过 inputData 的每一行值.

具体来说, hashedData作为:
column0 column1 column2 column3 hash
A 88 text 99 MurmurHash3.arrayHash(Array("A", 88, "text", 99))
Z 12 test 200 MurmurHash3.arrayHash(Array("Z", 12, "test", 200))
T 120 foo 12 MurmurHash3.arrayHash(Array("T", 120, "foo", 12))

如果需要更多细节,请告诉我。

任何帮助表示赞赏。谢谢!

最佳答案

一种方法是使用 withColumn功能:

import org.apache.spark.sql.functions.{col, hash}
dataset.withColumn("hash", hash(dataset.columns.map(col):_*))

关于scala - 将 Spark DataSet 行值映射到新的哈希列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47146560/

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