慢速性能读取S3中的镶木地板文件与Spark中的scala

时间:2016-05-24 21:46:45

标签: scala amazon-s3 apache-spark

我在scala

中的数据框中将分区文件保存在s3存储桶中

data_frame.write.mode("append").partitionBy("date").parquet("s3n://...")

当我读到这个分区文件时,我正在尝试非常慢的性能,我只是在做一个简单的小组

val load_df = sqlContext.read.parquet(s"s3n://...").cache()

我也试试 load_df.registerTempTable("dataframe")

任何建议,我做错了什么?

2 个答案:

答案 0 :(得分:3)

这取决于“非常慢的表现”的含义。

如果您date分区中的文件太多,则需要一些时间来阅读这些文件。

尝试减少分区的粒度。

答案 1 :(得分:0)

您应该使用S3A驱动程序(可能就像将URL协议更改为s3a://一样简单,或者您可能需要一些额外的类路径才能拥有hadoop-aws和aws-sdk jar)更好的性能。