java - 根据大小(mb/gb)读取 spark 数据帧
问题描述
在这种情况下请帮助我,我想根据大小(mb/gb)而不是行数来读取火花数据帧。假设我的数据库中有 500 MB 空间留给用户,并且用户想要再插入 700 MB 数据,那么我如何从 Jdbc 驱动程序中识别表大小,以及如何从我的 700Mb spark 数据帧中仅读取 500 MB 数据.
解决方案
在程序中限制数据大小是不正确的。您应该捕获异常并将其显示给用户。由用户决定是否要增加数据库大小或从数据库中删除不需要的数据。
对于上述问题,spark 有一个叫做 size estimator 的东西。我以前没用过。但是你可能不会得到准确的数据大小,因为它是一个估计器
import org.apache.spark.util.SizeEstimator
SizeEstimator.estimate(df)
请参阅此以获取更多信息。
推荐阅读
- java - 如何生成密钥以获得 HMAC SHA512 的 TOTP 符合 RFC6238 和 RFC4086?
- gradle - Gradle 任务以创建 zip 存档
- php - 使用 woocommerce_add_to_cart_validation 挂钩时禁用页面重新加载
- javascript - 将 Mongoose/Multer 文件上传的工作模式/FORM 更改为 MULTIPART/FORM - 模式保持打开
- python - 如何设置 Python IDE 使自动完成工作?
- jquery - JSON 中有意外的令牌 j,但没有令牌 j
- javascript - 带有 Sweet Alert 的 Laravel 删除功能
- vb.net - '只读数据已修改'
- asp.net-web-api - Web API 默认路由
- php - 使用 urldecode 预处理流明路由参数