title: Explicitly specify schema for reading JSON and mark missing fields as null
body: <p>I'm generating a <code>DataSet&lt;Person&gt;</code> like so:</p>
  
  <pre><code>DataSet&lt;Person&gt; personDs = sparkSession.read().json("people.json").as(Encoders.bean(Person.class));
  </code></pre>
  
  <p>where <code>Person</code> is</p>
  
  <pre><code>class Person {
      private String name;
      private String placeOfBirth;
  
      //Getters and setters
      ...
  }
  </code></pre>
  
  <p>If my input data only contains a name (<code>{"name" : "bob"}</code>), I get an error <code>org.apache.spark.sql.AnalysisException: cannot resolve 'placeOfBirth' given input columns: [name]</code>.</p>
  
  <p>Is there any way for me to tell Spark that <code>placeOfBirth</code> (or any other field) can be <code>null</code>?</p>