替换列并获取列值的ltrim

时间:2019-10-01 13:28:16

标签: scala apache-spark apache-spark-sql

我想替换数据框中的一列。需要获得斯卡拉  为此的语法代码 Controling_Area = CC2 Hierarchy_Name = CC2HIDNE

需要写为:HIDENE 即:删除Hierarchy_Name中存在的Controlling_Area。

val dfPC = ReadLatest("/Full", "parquet")
.select(
LRTIM(   REPLACE(col("Hierarchy_Name"),col("Controlling_Area"),"") ),
Col(ColumnN),
Col(ColumnO)
)

notebook:3: error: not found: value REPLACE
   REPLACE(col("Hierarchy_Name"),col("Controlling_Area"),"")
   ^

期望在scala中获得LTRIM并替换代码

1 个答案:

答案 0 :(得分:0)

您可以使用withColumnRenamed实现以下目的:

import org.apache.spark.sql.functions    
val dfPC = ReadLatest("/Full", "parquet")
                     .withColumnRenamed("Hierarchy_Name","Controlling_Area")
                     .withColumn("Controlling_Area",ltrim(col("Controlling_Area")))