适用于Python的Spark Column函数

时间:2019-01-25 17:18:39

标签: apache-spark

我已经阅读了几篇关于Spark“列函数”的文章。它们似乎是标准的UDF函数,它们接受列参数并返回列类型。例如

def removeAllWhitespace(col: Column): Column = {
  regexp_replace(col, "\\s+", "")
}

其中一篇文章指出:“ UDF是Spark引擎的黑匣子,而采用Column参数并返回Column的函数不是Spark的黑匣子。”

上面的示例在Scala中。可以在python中完成具有相同性能优势的事情吗?

1 个答案:

答案 0 :(得分:0)

pyspark.sql.functions组成对象:

from pyspark.sql.functions import regexp_replace

def remove_all_whitespace(col):
    return regexp_replace(col, "\\s+", "")

用法:

df = spark.createDataFrame(["fo oo  oo   ooo"], "string")
df.select(remove_all_whitespace("value"))