首页 > 解决方案 > 将非常大的外部数据读入 Spark DataFrame

问题描述

我有一个 Python 库,可以通过 HTTP API 下载一个大表(>100GB)。它一次提取一行数据,并为我提供了一个行迭代器。所以它不会消​​耗太多内存。

我尝试通过调用来创建 DataFrame,spark.createDataFrame(get_row_interator())但它会导致 Spark 作业因内存不足错误而失败。所以我猜它试图将所有数据加载到驱动节点上的 DataFrame 中,并且内存不足。

我应该使用其他一些 API 或方法从一个非常大的迭代器创建一个 DataFrame,该迭代器从外部系统加载数据?

标签: apache-spark

解决方案


推荐阅读