Spark SQL operator optimizations - part 2

Versions: Spark 2.2.0

It's time to continue the exploration of operator optimizations of logic plans in Spark SQL. After the first part describing optimizations from A to L, this post covers remaining letters.

The context is still the same. The main code and the post's format is the same as in the post about Spark SQL operator optimizations - part 1.

This second part shown that some of operations are simplified or transformed to other ones in order to improve execution performance. Some of them also helps to avoid human mistakes as the array, map and structure creators.

If you liked it, you should read: