Description
`OrcUtils.readCatalystSchema` method will trigger a file IO to read `orcSchema` when Orc pushes down predicates.
After SPARK-37463:
- For `OrcFileFormat`, we can reuse [a read `orcSchema`](https://github.com/apache/spark/blob/cc0bf563b8caea21da5692f05e34b5f77e002ab9/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/orc/OrcFileFormat.scala#L146) to save this file read IO when Orc pushes down predicates
- For `OrcPartitionReaderFactory` we can achieve the same goal by moving `OrcFile.createReader` before `pushDownPredicates`.