GitHub user vofque opened a pull request: https://github.com/apache/spark/pull/22767
[SPARK-21402][SQL][BACKPORT-2.3] Fix java array of structs deserialization This PR is to backport #22708 to branch 2.3. ## What changes were proposed in this pull request? MapObjects expression is used to map array elements to java beans. Struct type of elements is inferred from java bean structure and ends up with mixed up field order. I used UnresolvedMapObjects instead of MapObjects, which allows to provide element type for MapObjects during analysis based on the resolved input data, not on the java bean. ## How was this patch tested? Added a test case. Built complete project on travis. @dongjoon-hyun @cloud-fan You can merge this pull request into a Git repository by running: $ git pull https://github.com/vofque/spark SPARK-21402-2.3 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/spark/pull/22767.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #22767 ---- commit a9494a4c8d6298818bc88ba1ceb894604fd6a3c7 Author: Vladimir Kuriatkov <vladimir_kuriatkov@...> Date: 2018-10-11T12:56:15Z Java array of structs deserialization fixed ---- --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org