We've fixed this issue in 1.5 https://github.com/apache/spark/pull/7396

Could you give it a shot to see whether it helps in your case? We've observed ~50x performance boost with schema merging turned on.

Cheng

On 8/6/15 8:26 AM, Philip Weaver wrote:
I have a parquet directory that was produced by partitioning by two keys, e.g. like this:

    df.write.partitionBy("a", "b").parquet("asdf")


There are 35 values of "a", and about 1100-1200 values of "b" for each value of "a", for a total of over 40,000 partitions.

Before running any transformations or actions on the DataFrame, just initializing it like this takes *2 minutes*:

    val df = sqlContext.read.parquet("asdf")


Is this normal? Is this because it is doing some bookeeping to discover all the partitions? Is it perhaps having to merge the schema from each partition? Would you expect it to get better or worse if I subpartition by another key?

- Philip



Reply via email to