【发布时间】:2021-01-19 03:50:47
【问题描述】:
我在 python 中有一个 pySpark 数据框 -
from pyspark.sql.functions import col
dataset = sqlContext.range(0, 100).select((col("id") % 3).alias("key"))
列名是关键,我想使用变量选择此列。
myvar = "key"
现在我想在可能的选择语句中使用myvar 变量选择此列
我试过了
dataset.createOrReplaceTempView("dataset")
spark.sql(" select $myvar from dataset ").show
但它返回一个错误
no viable alternative at input 'select $'(line 1, pos 8)
如何在 pySpark 中实现这一点?
请注意,我将来可能有不同的列,我想将多个变量或 list 传递给 SELECT 子句。
【问题讨论】:
-
我唯一可以建议你的是从数据框中收集数据并存储在你的变量中。
-
只需使用
select。您也可以传入列表。阅读更多here。