【发布时间】: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