【发布时间】:2019-08-21 02:14:24
【问题描述】:
如果我有 5 个节点 的集群,每个节点都有 1gb 内存,现在如果我的 数据文件 是 10gb 分布在所有 5 个节点中,假设每个节点 2gb,现在如果我触发
val rdd = sc.textFile("文件路径")
rdd.collect
将 spark 加载数据到 ram 中以及 spark 将如何处理这种情况 它会立即拒绝还是会处理它。
【问题讨论】:
-
如果没有指定持久级别,Spark 会尝试将数据加载到内存中,但是如果没有足够的空间可用,则会溢出到磁盘。
-
@PrateekPrateek 。不确定您是否使用收集火花溢出到磁盘,收集后甚至不再火花。
-
但是如果 collect 会抛出内存异常,因为驱动节点上没有足够的空间。
-
@thebluephantom 如果我使用任何其他操作 api 会怎样
-
一般collect用于小规模测试。
标签: apache-spark