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