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

时间:2017-08-01 12:16:50

标签: python pyspark

假设,我有一个变量,它是dicts的一个词。

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

我想将它广播到pyspark中的地图制作者。只播放h这样的

就足够了吗?
h0 = sc.broadcast(h)

然后将其用作广播的var: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]

1 个答案:

答案 0 :(得分:3)

您可以直接将其用于收藏

| LINE_NUMBER | LINE_NUM |
|-------------|----------|
|           1 |        1 |
|         1.1 |      1.1 |
|         2.1 |      2.1 |
|      2.1..1 |    2.1.1 |
|      2.1..2 |    2.1.2 |
|         3.1 |      3.1 |
|         4.1 |      4.1 |
|         5.1 |      5.1 |
|         6.1 |      6.1 |
|         7.1 |      7.1 |
|         8.1 |      8.1 |
|      8.1..1 |    8.1.1 |
|      8.1..2 |    8.1.2 |
|         9.1 |      9.1 |
|        10.1 |     10.1 |
|        11.1 |     11.1 |

这是一个有用的link,其中包含一些示例