spark saveastextfile将空文件-< directory>\$folder$写入s3

rmbxnbpk  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(372)

rdd.saveAsTextFile("s3n://bucket-name/path) 正在创建文件夹名为- [folder-name]_$folder$ 这个空文件似乎是 hadoop-aws jar (of org.apache.hadoop) 把s3文件系统模仿成hadoop文件系统。
但是,我的应用程序将数千个文件写入s3。作为 saveAsTextFile 创建文件夹(从给定路径)来写入数据(从rdd)我的应用程序最终创建了数千个这样的空文件- [directory-name]_$folder$ .
有没有办法 rdd.saveAsTextFile 不写这些空文件?

2nc8po8w

2nc8po8w1#

停止使用s3n,切换到s3a。它的速度更快,实际上得到了支持。这将消除这个问题,以及读取大型Parquet地板/兽人文件时的严重性能问题。
另外,如果你的应用程序在s3中创建了数千个小文件,那么你就产生了未来的性能问题:在s3上列出和打开文件的速度很慢。尝试将源数据合并到更大的列格式文件中&使用框架的任何选择机制,只读取所需的位

相关问题