Scala 在Spark中运行HQL文件并传递参数

Scala 在Spark中运行HQL文件并传递参数,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我想读取一个包含多个SQL语句的HQL文件,这些SQL语句可能包含一些变量。例如: select * from table where ds = '$ds'; select * from table2 where ds > '$ds1' and ds < '$ds2'; 从表中选择* 其中ds=“$ds”; 从表2中选择* 其中,ds>'$ds1'和ds

我想读取一个包含多个SQL语句的HQL文件,这些SQL语句可能包含一些变量。例如:

select * from table
where ds = '$ds';

select * from table2
where ds > '$ds1' and ds < '$ds2';
从表中选择*
其中ds=“$ds”;
从表2中选择*
其中,ds>'$ds1'和ds<'$ds2';

我知道如何读取和解析文件。如何将Scala代码中的变量传递到将从文件中读取的字符串中?

事实上,我已经找到了解决上述问题的方法。我想做的事情并不理想,但最终对我来说是可行的。 我将使用下面的SET语句传递这些参数:

set ds="2018-05-20";

select * from table
where ds = ${ds};