为什么在pyspark中列出叶文件和目录花费了太多时间

3okqufwl  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(308)

我有一个spark应用程序,它可以读取多个s3文件并进行某些转换。我就是这样读文件的:

input_df_s3_path = spark.read.csv("s3a://bucket1/s3_path.csv")
s3_path_list = input_df_s3_path.select('_c0').rdd.map(lambda row : row[0]).collect()
input_df = sqlContext.read.option("mergeSchema", "false").parquet(*s3_path_list).na.drop()

因此,从包含所有s3路径的csv创建datafrme,将这些路径转换为一个列表,并将该列表传递到read.parquet中。我有将近5万个文件要读。
在应用程序日志中,我看到了一些异常情况,在开始列出叶文件和目录时,有将近15分钟的延迟。

20/09/09 05:56:34 INFO BlockManagerInfo: Removed broadcast_0_piece0 on ip-10-33-89-205.ec2.internal:37391 in memory (size: 26.3 KB, free: 1643.2 MB)
20/09/09 06:11:06 INFO InMemoryFileIndex: Listing leaf files and directories in parallel under: s3a://bucketname/.....

有谁能帮助我理解为什么有15分钟的延迟和一些有效的方法来阅读这些文件?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题