【问题标题】:Load file from S3 to nodes of an EMR cluster in pyspark将文件从 S3 加载到 pyspark 中的 EMR 集群的节点
【发布时间】:2016-11-30 17:24:27
【问题描述】:

我在 S3 存储桶中有一个数据帧,分为 8 个 csv 文件,每个文件 709.7MB。

我创建了一个具有 8 个节点的 EMR 集群(r3.4xlarge:16 个 vCPU、122 个 RAM 和 320 个磁盘)。

我的 Spark 配置是:

num-executors='23'
executor-memory='34G'
executor-cores='5'

我编写了这个 python 脚本来加载我的数据框:

df = sqlContext.read.load("s3://my-bucket/my-dataframe/*", 
                              format='com.databricks.spark.csv', 
                              header='true',
                              delimiter='\t',
                              inferSchema='true')

问题: 当我在 Spark History Server 中观看各个阶段时,结果如下。

3 csv 文件未正确加载。 有人有解决这个问题的方法或知道原因吗?

【问题讨论】:

    标签: python apache-spark amazon-s3 pyspark amazon-emr


    【解决方案1】:

    查看实际输出,以防报告混淆。

    顺便说一句,inferSchema 选项强制扫描整个 CSV 文件,只是为了计算出它的模式,这里将读取的数据量从 700MB/文件增加到 1400MB。如果您使用的是长途数据,您的账单就会翻倍;如果是本地的,那么,那还有很多时间被浪费掉了。制定一次架构并在 DF 中声明它。

    【讨论】:

      猜你喜欢
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 2019-04-04
      • 2018-11-10
      • 1970-01-01
      相关资源
      最近更新 更多