Обновление: для выбранных частей строки, указанных индексом, можно использовать такой код:
val df = Seq("ISPFSDPartnerPubSub/4_2/ProxyServices/InboundAndOutbound/AP/InboundPartnerCommunicationsAPLPPS").toDF("SERVICE_NAME")
val result =
df
.withColumn("splitted", split($"SERVICE_NAME", "/"))
.select(
$"splitted".getItem(4).alias("colX"),
$"splitted".getItem(5).alias("colY")
)
result.show(false)
Вывод:
+----+----------------------------------+
|colX|colY |
+----+----------------------------------+
|AP |InboundPartnerCommunicationsAPLPPS|
+----+----------------------------------+
Soluion для столбцов по индексу: Выбор двух столбцов по индексам столбцов с переименованием может быть выполнен следующим образом:
df.select(
col(df.columns(4)).alias("colX"),
col(df.columns(5)).alias("colY"))