使用Spark中的scala读取S3中的拼花文件时性能较慢
我将scala中的数据帧中的分区文件保存在s3存储桶中使用Spark中的scala读取S3中的拼花文件时性能较慢,scala,amazon-s3,apache-spark,Scala,Amazon S3,Apache Spark,我将scala中的数据帧中的分区文件保存在s3存储桶中 data\u frame.write.mode(“append”).partitionBy(“date”).parquet(“s3n://…”) 当我阅读这个分区文件时,我正在试验非常慢的性能,我只是在做一个简单的分组 val load_df=sqlContext.read.parquet(s“s3n://…”).cache() 我也尝试 load\u df.registerTempTable(“数据帧”) 有什么建议吗,我做错了什么?这取
data\u frame.write.mode(“append”).partitionBy(“date”).parquet(“s3n://…”)
当我阅读这个分区文件时,我正在试验非常慢的性能,我只是在做一个简单的分组
val load_df=sqlContext.read.parquet(s“s3n://…”).cache()
我也尝试
load\u df.registerTempTable(“数据帧”)
有什么建议吗,我做错了什么?这取决于你所说的“非常慢的性能”是什么意思 如果您的
date
分区中有太多文件,那么读取这些文件将需要一些时间
尽量减少分区的粒度。您应该使用S3A驱动程序(可能很简单,只需将url协议更改为S3A://,或者您可能需要一些额外的类路径,以便在其中包含hadoop aws和aws sdk JAR),以获得更好的性能。我相信append可以生成许多文件和目录,您能避免吗?