Sch*_*han 5 python amazon-web-services apache-spark pyspark
我有 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()
Run Code Online (Sandbox Code Playgroud)
因此,从包含所有 s3 路径的 csv 创建数据帧,将这些路径转换为列表并将该列表传递到 read.parquet 中。我有将近 50k 个文件要读取。
在应用程序日志中,我看到一些异常情况,启动 Listing Leaf 文件和目录有将近 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/.....
Run Code Online (Sandbox Code Playgroud)
谁能帮助我理解为什么会有 15 分钟的延迟和一些有效的方式来读取这些文件?
| 归档时间: |
|
| 查看次数: |
496 次 |
| 最近记录: |