2017-01-02 24 views
1

我是Spark的新手,我读到Spark将数据存储在内存中。Spark将如何存储500GB/1TB数据文件

现在假设我有一台机器有256GB内存和72TB硬盘。 我想知道,如果我加载一个500GB/1TB的单个文件,那么它将在哪里存储数据。

查询:

将其存储在硬盘中的数据?

在内存和另一半在磁盘IT卖场的部分数据?

预先感谢

回答

1

首先之前,除非使用不使用一些行动有星火如下懒惰的评估方法将会对文件没有影响。

当您指定的操作,然后火花能够处理文件

星火将创建文件的多个分区,然后开始处理存储器中的每个分区的基础上改造和行动

现在假定分区大小为更多的当前可用的内存然后spark会尝试将尽可能多的数据或文件块放入内存,然后放入磁盘,然后进行相应的处理。

我希望这会清除您的查询。

+0

感谢您的回复阿卡什 –

+0

不要忘记接受答案xoxo –

0

的数据被存储在盘。只有在处理它时将数据拉入内存。

+0

阿尼感谢您response.I仍然有疑问,这将如何装载500GB/1TB数据到256GB内存? –

+0

我并不知道Spark的具体情况,但是您可以(以及许多系统都可以)处理磁盘上的大量数据(例如,比可用RAM更多的数据)或SSD。数据库系统就是这种情况的典型例子。他们正在处理更小块的磁盘数据。 –

+0

@VineetSalvi这取决于。如果数据不适合内存,则部分数据存储在磁盘上。当你缓存()'RDD或数据集时,Spark将尝试只适合内存 –

相关问题