纯sql无代码,sql结果赋值给变量,实现参数化
当我们在公司的开发平台上写些sql数据分析时,发现经常会遇到不同sql使用同一参数的情况,比如计算比率要计算总数,总数被多次使用,或者每次要传入where day=date_format(date_sub(current_date(), 1), ‘yyyyMMdd’)这样的日期条件,这时可不可以将总数参数化,这样只要算一次,可以提升效率和sql颜值呢?
经过研究hive sql的参数化,总结出spark-sql的纯sql写法,下面是spark3.1.2环境
一般常量写法
spark-sql> set max_cnt=12000;
max_cnt 12000
Time taken: 0.022 seconds, Fetched 1 row(s)
spark-sql> select ${max_cnt};
12000
Time taken: 0.154 seconds, Fetched