我是 Spark 的新手,开始用 Python 编写一些脚本。我的理解是Spark并行执行Transformation(map)。
def some_function(name, content):
print(name, datetime.now())
time.sleep(30)
return content
config = SparkConf().setAppName("sample2").setMaster("local[*]")
filesRDD = SparkContext(conf=config).binaryFiles("F:\\usr\\temp\\*.zip")
inputfileRDD = filesRDD.map(lambda job_bundle: (job_bundle[0], some_function(job_bundle[0], job_bundle[1])))
print(inputfileRDD.collect())
上面的代码.zip从文件夹中收集文件列表并对其进行处理。当我执行它时,我看到这是按顺序发生的。
输出
file:/F:/usr/temp/sample.zip 2020-10-22 10:42:37.089085
file:/F:/usr/temp/sample1.zip 2020-10-22 10:43:07.103317
您可以看到它在 30 秒后开始处理第二个文件。意思是完成第一个文件后。我的代码出了什么问题?为什么它不并行执行RDD?你能帮我么 ?
红糖糍粑
相关分类