繁体   English   中英

连接数据框中的所有列

[英]Concat all columns in a dataframe

我在 Databricks 中编写 Python 代码,我使用的是 spark 2.4.5。

我需要一个带有两个参数的 UDF。 第一个是数据帧,第二个是 SKid,在该数据帧中,然后我需要散列该数据帧上的所有列。

我已经编写了以下代码,但我需要知道如何连接动态数据框中的所有列?

def xHashDataframe(df,skColumn):
  a = df.select(
      col(skColumn)
      ,md5(
      concat(
        col("column1"), lit("~"), 
        col("column2"), lit("~"),
        ...
        col("columnN"), lit("~")
      )).alias("RowHash")
    )
  return a
  

无需使用 UDF。 concat_ws应该可以解决问题:

df.withColumn("RowHash", F.md5(F.concat_ws("~", *df.columns))).show(truncate=False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM