gpt4 book ai didi

python - 如何访问广播变量的内容

转载 作者:行者123 更新时间:2023-12-01 04:24:27 33 4
gpt4 key购买 nike

我需要在使用广播值的函数中进行一些计算

json_data = text.map(lambda x: json.loads(x))
....
# code to calculate average and generate tuple with json_data['jsontag'] and avgvalue
some rdd filtsubavg with tuples of (jsontag, avgvalue)
V = sc.broadcast(filtsubavg.collect())
com = json_data.map(lambda l:l['jsontag'],l)
res = com.map(lambda (cmtag,cm): get_val(cmtag,cm,V))

如果我需要除以平均值,如何在函数中访问 V。

def get_val(jsontag,cm,v):
r1 = cm[jsontag]
r2 = cm[value]/(get corresponding value for jsontag in v)
return (r1,r2)

最佳答案

要访问广播变量的内容,您可以使用其value属性:

V.value

如果您想将其用作查找表,则将其收集为 map (字典)是有意义的:

V = sc.broadcast(filtsubavg.collectAsMap())

然后你可以简单地使用:

cm[value] / V.value.get(v)

关于python - 如何访问广播变量的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33308859/

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