Indeed, as long as you're using the DirectParquetOutputCommitter it should be safe to set the config: "fs.gs.metadata.cache.enable=false"; if you want to just set it at job-submission time, you can use the "spark.hadoop.*" hack:
gcloud dataproc jobs submit spark ... --properties spark.hadoop.spark.sql.parquet.output.committer.class=org.apache.spark.sql.execution.datasources.parquet.DirectParquetOutputCommitter,spark.hadoop.fs.gs.metadata.cache.enable=false
Note that this would be unsafe to use if you don't use a "Direct*OutputCommitter", since even individual task-commits with the "_temporary/" directory rely on FileSystem.listStatus; you can also just set:
fs.gs.metadata.cache.type=IN_MEMORY
or as a spark config:
--properties spark.hadoop.fs.gs.metadata.cache.type=IN_MEMORY
and then the consistency is only enforced in a same-process data structure and lives only for the duration of the tasks performing the commits.
That said, 10 minutes sounds like for just 13K files if the slowness were just related to the consistency enforcement, so let me know if it's still slow after you disable the cache, and I can try to repro and see what's going on.