1

使用 Apache Spark 1.6.4 和 elasticsearch4hadoop 插件,我将一个 elasticsearch 索引(100m 个文档,100Go,5 个碎片)导出到 HDFS 2.7 中的 gzipped parquet 文件中。

我将此 ETL 作为 Java 程序运行,具有 1 个执行程序(8 个 CPU,12Go RAM)。

5 个任务的过程(因为 5 个 ES 分片)大约需要 1 个小时,大部分时间都可以正常工作,但有时我会看到一些 Spark 任务失败,因为out of memory error.

在此过程中,我可以在 HDFS 中看到一些临时文件,但它们的大小始终为 0。

问:我想知道 Spark 在写入 gz.parquet 文件之前是否将数据保存在内存中?

4

0 回答 0