【问题标题】:Spark RDD union OOM error when using single machine使用单机时Spark RDD union OOM错误
【发布时间】:2016-08-04 04:08:29
【问题描述】:

我有以下代码,它获取不同的电话号码,并创建所有呼叫的联合。

//Get all the calls for the last 24 hours for each MSISDN in the hour
val sCallsPlaced = (grouped24HourCallsPlaS).join(distinctMSISDNs)
val oCallsPlaced = (grouped24HourCallsPlaO).join(distinctMSISDNs)
val sCallsReceived = grouped24HourCallsRecS.join(distinctMSISDNs)
val oCallsReceived = grouped24HourCallsRecO.join(distinctMSISDNs)

val callsToProcess = sCallsPlaced.union(oCallsPlaced)
                                 .union(sCallsReceived)
                                 .union(oCallsReceived)

spark-defaults.conf 文件有以下内容:

spark.driver.memory=16g
spark.driver.cores=1
spark.driver.maxResultSize=2g

spark.executor.memory=24g
spark.executor.cores=10

spark.default.parallelism=256

问题是,Spark 能否在 256G 机器上处理 50G 数据,同时 Hadoop 服务(namenode、datanode、secondaryname node)、yarn 和 HBase 在同一台机器上运行。

Hbase(HMaster、HQuorumPeer 和 HRegionServers)每个占用大约 20G。

另外,有没有比在 Spark 中使用“Union”更快的方法。

【问题讨论】:

    标签: hadoop apache-spark


    【解决方案1】:

    每个 RDD 有多少个分区? Serde 如何查找记录?

    对于关系代数,可能先执行并集,然后执行连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-25
      • 2018-02-14
      • 2020-10-07
      • 2020-09-27
      相关资源
      最近更新 更多