为了账号安全,请及时绑定邮箱和手机立即绑定

ApacheSparkDataFrame中的级联列

ApacheSparkDataFrame中的级联列

慕尼黑5688855 2019-07-13 10:18:37
ApacheSparkDataFrame中的级联列如何在ApacheSparkDataFrame中连接两列?SparkSQL中有我们可以使用的函数吗?
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

在SparkScala中连接字符串列的一个选项是:concat.

有必要检查空值..因为如果其中一列为空,即使其他列中有一列有信息,结果也将为空。

使用concatwithColumn:

val newDf =
  df.withColumn(
    "NEW_COLUMN",
    concat(
      when(col("COL1").isNotNull, col("COL1")).otherwise(lit("null")),
      when(col("COL2").isNotNull, col("COL2")).otherwise(lit("null"))))

使用concatselect:

val newDf = df.selectExpr("concat(nvl(COL1, ''), nvl(COL2, '')) as NEW_COLUMN")

使用这两种方法,您将有一个新_Column,它的值是来自原始DF的列:col1和COL 2的连接。


查看完整回答
反对 回复 2019-07-13
  • 3 回答
  • 0 关注
  • 472 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信