https://www.hph93.com/2023/12/31/exploring-spark-sqls-high-order-functions/