【问题标题】:How does spark read data behind the scenes?spark如何在后台读取数据?
【发布时间】:2021-11-13 06:36:49
【问题描述】:

例如,我对 spark 如何从 s3 读取数据感到有些困惑。假设要从 s3 读取 100 GB 的数据,并且 spark 集群的总内存为 30 GB。一旦触发动作,将触发读取所有 100 GB 的数据并将最大数量的分区存储在内存中,并将其余分区溢出到磁盘,或者它会仅读取它可以存储在内存中的分区处理它们,然后读取其余部分数据?任何指向某些文档的链接都将受到高度赞赏。

【问题讨论】:

    标签: apache-spark amazon-s3 pyspark


    【解决方案1】:

    关于这个有a question on Spark FAQ

    我的数据是否需要放入内存才能使用 Spark?

    没有。如果数据不适合内存,Spark 的运算符会将数据溢出到磁盘,从而使其能够在任何大小的数据上运行良好。同样,不适合内存的缓存数据集要么溢出到磁盘,要么在需要时动态重新计算,由 RDD 的storage level 确定。

    MEMORY_AND_DISK

    在 JVM 中将 RDD 存储为反序列化的 Java 对象。如果 RDD 不适合内存,请将不适合的分区存储在磁盘上,并在需要时从那里读取它们。

    【讨论】:

    • 这与任务或作业之间的数据有关。我的问题是关于第一次从像 s3 这样的源加载数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 2020-09-24
    相关资源
    最近更新 更多