pyspark跳过了一些导入阶段,该阶段应处理新数据,并且不应跳过

时间:2019-11-12 06:20:37

标签: apache-spark pyspark

我的核心pyspark代码在forloop中。

global_v = np.random.rand(feature_num, vec_dim)
global_v_bc = sc.broadcast(global_v)
for i in range(epoch):
    s1 = train_rdd.repartition(500)\
            .mapPartitions(lambda x:fit(x, global_v_bc))\
            .reduceByKey(lambda x,y:[x[0]+y[0], x[1]+y[1], x[2]+y[2]])\
            .map(lambda x:x[1])
    s2 = s1.take(1)[0]
    s1.unpersist()
    logging.info("epoch {} train-loss:{}".format(i, s2[0]/s2[1]))
    global_v_bc.destroy()
    global_v_bc = sc.broadcast(s2[2]/s2[1])

这是一个简单的fm模型。它可以在每个分区中更新v并重新广播以进行下一个循环,但是在运行时跳过了许多阶段。

有人可以帮我吗?

这是Web UI内容:

0 个答案:

没有答案