【问题标题】:Adding constant value column to spark dataframe将常量值列添加到火花数据框
【发布时间】:2017-10-17 09:34:57
【问题描述】:
我在 Databricks 中使用 Spark 2.1 版。我有一个名为wamp 的数据框,我想向其中添加一个名为region 的列,该列应采用常量值NE。但是,当我运行以下命令时,我收到一条错误消息 NameError: name 'lit' is not defined:
wamp = wamp.withColumn('region', lit('NE'))
我做错了什么?
【问题讨论】:
标签:
apache-spark
pyspark
databricks
【解决方案1】:
你需要导入lit
任何一个
from pyspark.sql.functions import *
将使lit 可用
或类似的东西
import pyspark.sql.functions as sf
wamp = wamp.withColumn('region', sf.lit('NE'))
【解决方案2】:
muon@ 提供了上面的正确答案。只需添加一个快速可重现的版本以提高清晰度。
>>> from pyspark.sql.functions import lit
>>> df = spark.createDataFrame([(1, 4, 3)], ['a', 'b', 'c'])
>>> df.show()
+---+---+---+
| a| b| c|
+---+---+---+
| 1| 4| 3|
+---+---+---+
>>> df = df.withColumn("d", lit(5))
>>> df.show()
+---+---+---+---+
| a| b| c| d|
+---+---+---+---+
| 1| 4| 3| 5|
+---+---+---+---+