apache-spark - 将非常大的外部数据读入 Spark DataFrame
问题描述
我有一个 Python 库,可以通过 HTTP API 下载一个大表(>100GB)。它一次提取一行数据,并为我提供了一个行迭代器。所以它不会消耗太多内存。
我尝试通过调用来创建 DataFrame,spark.createDataFrame(get_row_interator())
但它会导致 Spark 作业因内存不足错误而失败。所以我猜它试图将所有数据加载到驱动节点上的 DataFrame 中,并且内存不足。
我应该使用其他一些 API 或方法从一个非常大的迭代器创建一个 DataFrame,该迭代器从外部系统加载数据?
解决方案
推荐阅读
- cocoapods - Cocoapods:遇到了意外的版本目录“General”
- c# - 使用 ASP NET Core 身份验证自动化/服务帐户
- java - JPA/Hibernate OnetoMany 防止重复子代
- c# - Powershell / C# keyhook 脚本 NullReferenceException 外部
- php - 如何分别从函数返回多个值?
- python - 从流模式 tarfile 中提取文件
- python - 如何附加到文件而不是创建具有相同名称的新文件
- pyspark - 解析非常混乱的嵌套 JSON 字符串
- kotlin - 将数据类转换为映射 kotlin
- angular - 找不到名称“选项”?需要提前申报吗?