将变量传递给 pyspark 中的配置单元查询 sql

Passing variables to hive query in pyspark sql

我正在尝试使用 spark sql 对配置单元 table 执行查询。

以下工作正常

spark=SparkSession.builder.master("local[1]".enableHiveSupport().appName("test").getOrCreate()
df=spark.sql("select * from table_name where date='2021-05-16' and name='xxxx'")

但我想将日期和名称作为变量传递,而不是将其硬编码到 SQL。

有没有办法传递 date=current_date 而不是硬编码值

我正在尝试将当前日期作为日期传递给使用 time.strftime 和名称进行查询我必须从另一个变量传递它 名字='xxxx'

能否从py文件外部传递变量?

如果是,你可以试试这个

import sys
day = sys.argv[1]
df=spark.sql("select * from table_name where date='%s'" % day)
spark-submit --master yarn test.py 2021-09-17