У меня есть следующие данные, где id
- это целое число, а vectors
- это массив:
id, vectors
1, [1,2,3]
2, [2,3,4]
3, [3,4,5]
Я бы хотел разбить столбец vectors
с указанием индекса, чтобы он выглядел так:
+---+-----+------+
|id |index|vector|
+---+-----+------+
|1 |0 |1 |
|1 |1 |2 |
|1 |2 |3 |
|2 |0 |2 |
|2 |1 |3 |
|2 |2 |4 |
|3 |0 |3 |
|3 |1 |4 |
|3 |2 |5 |
+---+-----+------+
Я подумал, что могу сделать это, используя Spark Scala, используя selectExpr
df.selectExpr("*", "posexplode(vectors) as (index, vector)")
Однако это относительно простая задача, и я хотел бы избежать написания сценариев ETL и подумал, можно ли использовать это выражение и создать представление для легкого доступа через Presto.