select specific columns in Spark DataFrames from Array of Struct
<p>I have a Spark DataFrame <code>df</code> with the following Schema:</p>

<pre><code>root
 |-- k: integer (nullable = false)
 |-- v: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- a: integer (nullable = false)
 |    |    |-- b: double (nullable = false)
 |    |    |-- c: string (nullable = true)
</code></pre>

<p>Is it possible to just select <code>a, c</code> in <code>v</code> from <code>df</code> without doing a <code>map</code>?  In particular, <code>df</code> is loaded from a Parquet file and I don't want the values for <code>c</code> to even be loaded/read.</p>