如何在查询中设置一个变量,以便在整个查询过程中重用?

rbl8hiat  于 2021-05-18  发布在  Spark
关注(0)|答案(1)|浏览(428)

我正在尝试将一个查询从t-sql转换为spark的sql。我已经掌握了99%的方法,但是我们在t-sql中充分利用了declare语句。
在sparksql中,我似乎找不到一种行为相同的替代方法,即允许我在查询本身中声明变量,以便在该查询中重用。
t-sql示例:

DECLARE @varA int
SET @varA = '4'
SELECT * FROM tblName where id = @varA;

如何在sparksql中声明这样一个变量(我不想使用字符串插值,除非必要)

ubby3x7f

ubby3x7f1#

你可以试试这个:

sqlContext.sql("set id_value = 3")
sqlContext.sql("select * from country where id = ${id_value}").show()

相关问题