scala - scala 闭包功能是否有助于 Apache spark
问题描述
前几天我在和一位同事讨论,他随便提到,除了内存计算,Scala 中的闭包是在 Spark 上执行应用程序如此高效的原因。我确实在官方 spark 文档中找到了以下文本,但不太明白。
为了执行作业,Spark 将 RDD 操作的处理分解为任务,每个任务都由一个 executor 执行。在执行之前,Spark 会计算任务的闭包。闭包是那些必须对执行程序可见的变量和方法才能在 RDD 上执行其计算(在这种情况下
foreach()
)。这个闭包被序列化并发送给每个执行器。
任何帮助(指向其他网络链接、解释、任何参考资料)都受到高度重视。
解决方案
“计算任务关闭”并将其发送给每个执行者背后的想法是大数据的前提之一,即将计算发送到数据所在的位置而不是将数据发送到计算中更快/更容易
推荐阅读
- c# - C# Json.Net 使用不同的“key”参数反序列化 Json
- powershell - Power Shell CSV 转换
- angular - Angular 6从解码的字符串base 64中提取值
- reactjs - 使用 jest vs react-scripts 测试
- python - 问题:dropna() 方法返回 NaN 值
- python - 分页后重新显示当前标题
- javascript - preventDefault() 不能在('submit') 函数上工作
- python - 熊猫绘图 - sharex 改变绘图中的 x 值
- python - Django 2.1.3 LDAP 身份验证未对后端进行身份验证
- javascript - 识别包含关键字的字符串