【发布时间】:2014-10-07 14:47:46
【问题描述】:
我正在尝试加入两个 Spark RDD。我有一个与类别相关联的事务日志。我已将我的事务 RDD 格式化为以类别 ID 作为键。
transactions_cat.take(3)
[(u'707', [u'86246', u'205', u'7', u'707', u'1078778070', u'12564', u'2012-03-02 00:00:00', u'12', u'OZ', u'1', u'7.59']),
(u'6319', [u'86246', u'205', u'63', u'6319', u'107654575', u'17876', u'2012-03-02 00:00:00', u'64', u'OZ', u'1', u'1.59']),
(u'9753', [u'86246', u'205', u'97', u'9753', u'1022027929', u'0', u'2012-03-02 00:00:00', u'1', u'CT', u'1', u'5.99'])]
categories.take(3)
[(u'2202', 0), (u'3203', 0), (u'1726', 0)]
事务日志大约 20 GB(3.5 亿行)。 类别列表小于 1KB。
当我跑步时
transactions_cat.join(categories).count()
Spark 开始变得非常缓慢。我有一个有 643 个任务的阶段。前 10 个任务大约需要 1 分钟。然后每个任务越来越慢(第 60 个任务大约需要 15 分钟)。我不确定出了什么问题。
请查看这些屏幕截图以获得更好的想法。
我正在运行 Spark 1.1.0,有 4 名工作人员使用 python shell,总内存为 50 GB。 仅计算事务 RDD 非常快(30 分钟)
【问题讨论】:
标签: python scala apache-spark