0
我有以下代码Spark:为什么我的UDF没有在rdd映射中调用?
def get_general_popularity_count():
def test(t):
a = 1 # this is just a random variable for testing
print "a"
pickle.dump(a, open("a.p", "wb"))
count_dict = pickle.load(open("list.p","rb"))
rdd = session.sparkContext.parallelize(count_dict)
rdd.map(lambda x:test(x))
但是,没有打印,咸菜没有保存文件要么。事实上,我知道UDF从来没有被调用,因为一旦我在test(x)
中有语法错误,但程序从未捕获它。
那么为什么我的UDF永远不会打电话?任何帮助表示赞赏
非常感谢你。从我从文档中看到,foreach在每个集群上执行,所以如果我有一个本地字典,并且我想在rdd中的每一行上运行某种函数,然后将其添加到字典中,那么这将如何工作? – Pear