我想在 PySpark 中有效地将 numpy 数组从/到工作机器(函数)保存/读取到 HDFS。我有两台机器 A 和 B。A 有主人和工人。B 有一名工人。例如,我想实现以下目标:
if __name__ == "__main__":
conf = SparkConf().setMaster("local").setAppName("Test")
sc = SparkContext(conf = conf)
sc.parallelize([0,1,2,3], 2).foreachPartition(func)
def func(iterator):
P = << LOAD from HDFS or Shared Memory as numpy array>>
for x in iterator:
P = P + x
<< SAVE P (numpy array) to HDFS/ shared file system >>
Run Code Online (Sandbox Code Playgroud)
什么是快速有效的方法?