加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Google Cloud Dataproc OOM问题

发布时间:2020-12-20 11:09:34 所属栏目:Python 来源:网络整理
导读:当在Spark集群(Dataproc)上执行代码时,我遇到了OOM问题. 环境: 2节点集群,每个节点有6G内存. 测试文件大小为20Gb. 这是我的代码: from __future__ import absolute_importimport pysparksc = pyspark.SparkContext()sc._jsc.hadoopConfiguration().set('fs
当在Spark集群(Dataproc)上执行代码时,我遇到了OOM问题.

环境:
2节点集群,每个节点有6G内存.
测试文件大小为20Gb.

这是我的代码:

from __future__ import absolute_import
import pyspark

sc = pyspark.SparkContext()
sc._jsc.hadoopConfiguration().set('fs.sftp.impl','org.apache.hadoop.fs.sftp.SFTPFileSystem')

data = sc.textFile("sftp://user:pass@54.23.12.100/data/tmp/test_tile.csv.gz")
data.saveAsTextFile("gs://data/tmp")

是否可以使用Spark集群将数据流式传输到GCS,并为工作节点设置限制(缓冲区)以避免OOM错误?或者,如果有其他解决方案从外部源(sftp)读取数据并将其持久保存到GCS中?

解决方法

使用Hadoop DistCp而不是Spark将文件从SFTP服务器复制到GCS会更合适.

以下是有关如何在Hadoop中配置SFTP支持的说明:
https://stackoverflow.com/a/33878054/3227693.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读