I am looking for documentation on how parquet.enable.dictionary is to be used in Spark (latest 2.3.1). It can be set to "true" or "false" when creating a SparkSession.
I googled for any documentation on this feature and found nothing, or at least nothing recent.
Specifically these are my questions:
Is parquet.filter.dictionary.enabled = true or = false by default in Spark 2.3.1?
Is this a feature to enable (set to true) before I write to Parquet files so that Parquet library of Spark computes and writes the dictionary information to disk?
Is this setting ignored when Spark reads the Parquet files or do I still need to set it to true for reading parquet (as well as writing)?
When should I use this feature (set to true) ? Pros/Cons?
I also see references to this spark.hadoop.parquet.enable.dictionary when I googled for the parquet.enable.dictionary. Is this related? Which should I use?
Are there any other Spark + Parquet settings I need to be aware of?
Many thanks!