首页 > 解决方案 > 在 Spark 中运行 HQL 文件并传递参数

问题描述

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

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

select * from table2
where ds > '$ds1' and ds < '$ds2';

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

标签: scalaapache-sparkapache-spark-sql

解决方案


实际上,我已经为上面发布的问题找到了解决方案。我想做的事情并不理想,但最终它对我有用。我将使用 SET 语句传递这些参数,如下所示:

set ds="2018-05-20";

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

推荐阅读