如何从 Python 中的变量中选择 pySpark 数据框中的列

Reg*_*sor 5 python pyspark

我在 python 中有一个 pySpark 数据框 -

from pyspark.sql.functions import col
dataset = sqlContext.range(0, 100).select((col("id") % 3).alias("key"))
Run Code Online (Sandbox Code Playgroud)

列名称是关键,我想使用变量选择此列。

myvar = "key"
Run Code Online (Sandbox Code Playgroud)

现在我想使用myvarselect 语句中的变量来选择此列

我试过这个

dataset.createOrReplaceTempView("dataset")
spark.sql(" select $myvar from dataset ").show
Run Code Online (Sandbox Code Playgroud)

但它返回给我一个错误

no viable alternative at input 'select $'(line 1, pos 8)

我如何在 pySpark 中实现这一目标?

请注意,我将来可能会有不同的列,并且我想传递 1 个以上的变量或者可能是一个listintoSELECT子句。

Dan*_*iel 4

dataset.select(myVar)将根据变量选择单个列

.select也可以拿清单dataset.select([myVar, mySecondVar])