将常量值列添加到spark数据帧

时间:2017-05-17 19:13:08

标签: apache-spark pyspark databricks

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

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

我做错了什么?

2 个答案:

答案 0 :(得分:13)

您需要导入ini_set, set_time_limit, set_magic_quotes_runtime, error_reporting, posix_getpwuid, posix_getgrgid

{
  "name": "*******",
  "app_id": "******",
  "v2": true,
  "typescript": true,
  "proxies": [
    {
      "path": "/api",
      "proxyUrl": "http://localhost:8080"
    }
  ]
}

lit提供

或类似

from pyspark.sql.functions import *

答案 1 :(得分: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|
+---+---+---+---+