如何提高spark[java]中从s3读取多个文件的作业性能

voj3qocg  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(365)

我试图通过spark[2.4.5]java程序从s3 bucket读取avro文件。我的代码如下。 Dataset<Row> ds = sparkSession.read().format(Constants.avro).load(inputpath + year + "/" + currMonth + "/*/*/*"); s3路径的格式是年/月/日/小时,我在这里使用通配符,因为我想从特定月份的所有文件中加载数据。
当我运行这个程序时,它运行得很慢,需要几个小时才能完成。在日志中,我可以看到相同的文件在不同的时间戳中被不同的tid多次读取。这是预期的吗?在这种情况下,有没有办法提高s3的读取性能?我是新的Spark和任何帮助将不胜感激。 20/08/29 12:19:38 INFO FileScanRDD: TID: 1008 - Reading current file: path: s3a://<bucket-name>/<folder-name>/2020/07/24/13/file1.avro, range: 0-391157, partition values: [empty row], isDataPresent: false

暂无答案!

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

相关问题