Spark在完成此过程之前会终止执行程序

时间:2016-12-03 19:55:49

标签: python amazon-web-services pyspark amazon-emr

我有一个火花应用程序,用于频繁项目集。首先,我得到所有不同的项目,然后配对。 项目数量相当大,我使用m4.Xlarge实例,内存为30 GB。

  l = l.map(lambda x:(x[1])).distinct()
  lbroadcast = spark.broadcast(l.collect())
  x = spark.parallelize(itertools.combinations(l.collect(),2)).filter(lambda x:randomTest(x,lbroadcast))
  print x.collect()

第158行的作业3是x,进行配对并过滤广播中的对。最后的打印语句不打印任何内容。 相同的代码在本地计算机上运行,​​但不在EMR实例上运行。 我认为这可能是RDD内存的一个问题。所有元组都存储在广播变量中。

16/12/03 19:24:26 INFO YarnScheduler:从池中删除任务已完成的TaskSet 18.0

16/12/03 19:24:26 INFO DAGScheduler:ResultStage 18(收集于/home/hadoop/t.py:158)于0.971秒完成

16/12/03 19:24:26 INFO DAGScheduler:作业3完成:收集于/home/hadoop/t.py:158,花了1.039357 s

16/12/03 19:24:28 INFO YarnClientSchedulerBackend:要求杀死遗嘱执行人7

16/12/03 19:24:28 INFO ExecutorAllocationManager:删除执行程序7,因为它已空闲60秒(新的所需总数将为8)

16/12/03 19:24:32 INFO YarnSchedulerBackend $ YarnDriverEndpoint:禁用执行者7。

16/12/03 19:24:32 INFO DAGScheduler:执行官丢失:7(第4纪录)

16/12/03 19:24:32 INFO BlockManagerMasterEndpoint:尝试从BlockManagerMaster中删除执行程序7。

0 个答案:

没有答案