9

我在 Databricks 中使用 Spark 2.1 版。我有一个名为的数据框wamp,我想向其中添加一个名为的列,该列region应采用常量 value NENameError: name 'lit' is not defined但是,当我运行以下命令时,我收到一条错误消息:

wamp = wamp.withColumn('region', lit('NE'))

我究竟做错了什么?

4

2 回答 2

27

你需要导入lit

任何一个

from pyspark.sql.functions import *

lit提供

或类似的东西

import pyspark.sql.functions as sf
wamp = wamp.withColumn('region', sf.lit('NE'))
于 2017-05-17T19:36:20.820 回答
3

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|
+---+---+---+---+
于 2019-09-23T07:03:51.743 回答