pyspark - 将 parquet 文件写入 Google Cloud 的时间异常长
问题描述
我在 dataproc 集群上使用 pyspark 数据框来生成功能并将 parquet 文件作为输出写入 Google Cloud Storage。我面临两个问题-
我提供了 22 个执行器,每个执行器 3 个内核和每个执行器约 13G RAM。然而,当我提交作业时,只有 10 个执行者被解雇。dataproc 集群包含 10 个工作节点和每个节点 8 个内核以及每个节点 30 GB 内存。
当我编写单个功能文件并记录总时间时,它明显低于将所有功能一起写入单个文件所需的时间。我尝试过更改分区,但也无济于事。
这就是我编写镶木地板文件的方式:
df.select([feature_lst]).write.parquet(gcs_path+outfile,mode='overwrite')
数据大小 - 20M+ 记录,30+ 数字特征
火花用户界面图像:
当前阶段是我将所有功能一起编写 - 明显高于所有先前阶段的总和。
如果有人可以对上述两个问题提供任何见解,我将不胜感激。
解决方案
推荐阅读
- python-3.x - 使用 Drive API V3 使用 Python 在 Google Drive 上上传更新的文件不起作用
- android - 在颤动中添加底部导航栏后,我体内的小部件停止工作
- android - Android Popupwindow 显示两次弹出窗口
- bash - AWK:以从列中获得的结果的排序顺序打印文件的数据
- javascript - 加载图像标签的href时触发加载事件
- ios - 当您离开视图时如何在 Swift 中停用 AVPlayer
- keyboard - 有没有办法在基于 DOS 的程序中读取键盘修改键,例如 ALT 或 CTRL?
- c++ - 为什么不显示 sfml 图像?
- ansible - 如何调试 Ansible when_failed 子句
- angularjs - 为什么 CropperJS 库的角度太慢了?