an introduction to higher order functions in spark sql with herman van hovell iteblog