Опция разделителя не поддерживает значения с несколькими символами. Вместо этого вы можете загрузить файл и разбить его на основе разделителя
Входной файл:
A^|^B^|^1
C^|^D^|^2
E^|^F^|^3
G^|^H^|^4
Код:
val file = spark.read.textFile("C:\\PATH\test.txt")
.map(line => line.split("\\^\\|\\^"))
def getColAtIndex(id:Int): Column = col(s"value")(id).as(s"column1_${id+1}")
val columns: IndexedSeq[Column] = (0 to 2).map(getColAtIndex)
file.select(columns: _*).show
Выход:
+---------+---------+---------+
|column1_1|column1_2|column1_3|
+---------+---------+---------+
| A| B| 1|
| C| D| 2|
| E| F| 3|
| G| H| 4|
+---------+---------+---------+