美文网首页
广播变量和累加器

广播变量和累加器

作者: 乔一波一 | 来源:发表于2019-03-16 10:54 被阅读0次

    1.广播变量

    广播变量

    1.不使用广播变量的话,Driver每次发送task到executor端去执行,都会携带数据副本,这样容易占用executor端大量的内存空间;

    2.如果使用广播变量的话,Driver把数据副本广播出去,交给Executor端的BlockManager管理,这样每次执行Driver端发送过来的task不需要携带数据副本,直接向BlockManager申请就可以了,所有的Task共用一份数据;

     注意事项

     能不能将一个RDD使用广播变量广播出去?

    不能,因为RDD是不存储数据的。可以将RDD的结果广播出去。

     广播变量只能在Driver端定义,不能在Executor端定义。

     在Driver端可以修改广播变量的值,在Executor端无法修改广播变量的值。

    2.累计器

    累加器

    1.

     注意事项

     累加器在Driver端定义赋初始值,累加器只能在Driver端读取,在Excutor端更新spark1.6之后也可以读取。

    相关文章

      网友评论

          本文标题:广播变量和累加器

          本文链接:https://www.haomeiwen.com/subject/fdujmqtx.html