python - pyspark广播函数是否对变量进行深度复制?

标签 python pyspark

假设,我有一个变量,它是字典的字典。

h = {1: {2:3}, 5: {6: 7}}

我想将其广播给 pyspark 中的映射器。像这样只广播h就够了吗

h0 = sc.broadcast(h)

然后将其用作广播变量:h0.value[5][6]

或者我应该像这样广播它的所有值:

h0 = {k: sc.broadcast(v) for k, v in h.iteritems()}
...
def mapper():
    inner_h = {k, v for k, v in h0.iteritems()}
    inner_h[5].value[6]

最佳答案

可以直接用于收藏

sc.broadcast(h) and  h.value

这是一个有用的link举一些例子

关于python - pyspark广播函数是否对变量进行深度复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45437566/

相关文章:

pyspark - PySpark 中的 Python 字典查找

apache-spark - AWS Sagemaker 与 Databricks 的用例有何不同?

python - 如何模拟对 pyspark sql 函数的内部调用

python - Django 图片上传总是失败,表单永远无效

Python 社交认证 Steam 头像

Python删除请求rest api(on gae)

python - 在 PGM 格式文件中实现膨胀过滤器

python-3.x - 从 pyspark.sql.types 导入行和从 pyspark.sql 导入行

amazon-ec2 - 如何充分利用集群中所有Spark节点?

python - 枕头错误(Python)无法打开共享对象文件