【问题标题】:how to select columns in pySpark dataframe from a variable in Python如何从 Python 中的变量中选择 pySpark 数据框中的列
【发布时间】: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

标签: python pyspark


【解决方案1】:

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

.select也可以拿一个列表dataset.select([myVar, mySecondVar])

【讨论】:

    【解决方案2】:

    如果你的变量是一个python列表,你也可以这样做:

    columns = ['column_a', 'column_b', 'column_c']
    
    #select the list of columns
    df_pyspark.select(*columns).show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-01
      • 2018-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多