如果没有足够的内存(RAM)来创建RDD,火花如何表现

时间:2017-03-20 11:29:26

标签: apache-spark bigdata

当我<div class="col-sm {% if form.letzte_ausgabe.errors %} has-danger {% endif %}"> <label class="col-form-label" for="{{ form.letzte_ausgabe.id_for_label }}">{{ form.letzte_ausgabe.label }}</label> <input id="{{ form.letzte_ausgabe.id_for_label }}" class="form-control" type="text" value="{{ form.letzte_ausgabe.value }}" name="{{ form.letzte_ausgabe.html_name }}" placeholder="MM/JJJJ" aria-describedby="{{ form.letzte_ausgabe.id_for_label }}Help"> {% if form.letzte_ausgabe.help_text %}<small id="{{ form.letzte_ausgabe.id_for_label }}Help" class="form-text text-muted">{{ form.letzte_ausgabe.help_text }}</small>{% endif %} </div> 时 Spark在RAM(内存)中创建RDD。

  1. 群集集体内存应该大于文件“abc.txt”的大小吗?

  2. 我的工作节点有磁盘空间,因此在读取texfile时可以使用磁盘空间来创建RDD吗?如果是这样怎么办?

  3. 如何处理不适合内存的大数据?

2 个答案:

答案 0 :(得分:1)

  

当我执行sc.textFile(&#34; abc.txt&#34;)时,Spark会在RAM(内存)中创建RDD。

以上观点并非如此。在Spark中,它们被称为transformations,称为actionssc.textFile("abc.txt")是转换操作,它不会直接加载数据,除非您触发任何操作,例如count()

为了集体回答你的所有问题,我建议你理解spark execution works的方式。它们被称为逻辑和物理计划。作为物理计划的一部分,它在启动作业之前进行成本计算(跨集群的可用资源计算)。如果你了解它们,你将会清楚地了解你的所有问题。

答案 1 :(得分:0)

您首先假设不正确:

  

Spark在RAM(内存)中创建RDD。

Spark不会在“内存中”创建RDD。它使用内存,但不限于内存数据处理。所以:

  •   

    集群集合内存应该大于文件“abc.txt”的大小吗?

    没有

  •   

    我的工作节点有磁盘空间,因此在读取texfile时可以使用磁盘空间来创建RDD吗?如果是这样怎么办?

    无需特殊步骤。

  •   

    如何处理不适合内存的大数据?

    见上文。