使用UDF处理多个列时发生堆栈溢出

使用UDF处理多个列时发生堆栈溢出,第1张

使用UDF处理多个列时发生堆栈溢出

尝试这样的事情:

from pyspark.sql.functions import col, lower, trimexprs = [    lower(trim(col(c))).alias(c) if t == "string" else col(c)     for (c, t) in df.dtypes]df.select(*exprs)

与您当前的解决方案相比,此方法有两个主要优点:

  • 它仅需要单个投影(没有增长的谱系,这很可能导致SO),而不是每个字符串列的投影。
  • 它仅直接 *** 作内部表示,而没有将数据传递给Python(
    BatchPythonProcessing
    )。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5505645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存