向Spark DataFrame添加常量值列

13

我在Databricks中使用Spark版本2.1。我有一个名为wamp的数据框,我想添加一个名为region的列,该列应采用常量值NE。但是,当我运行以下命令时,我会收到一个错误,提示NameError: name 'lit' is not defined

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

我做错了什么?

2个回答

34

您需要导入lit

或者

from pyspark.sql.functions import *

将使lit可用

或类似的东西

import pyspark.sql.functions as sf
wamp = wamp.withColumn('region', sf.lit('NE'))

4

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|
+---+---+---+---+

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接