Насколько я знаю, нет функции, которая бы делала это напрямую с Spark SQL API. Однако вместо этого вы можете использовать UDF
следующим образом (я предполагаю, что входной фрейм данных называется df
):
val getIndex = udf((text: String, featuredText: Seq[String]) => {
featuredText.indexOf(text)
})
val df2 = df.withColumn("index", getIndex($"text", $"featured_text"))
Что даст:
+----+-----------------+-----+
|text| featured_text|index|
+----+-----------------+-----+
| sun|[type, move, sun]| 2|
+----+-----------------+-----+
В случае, если значение отсутствует, столбец индекса будет иметь значение -1.