У меня есть фрейм данных (только с 1 строкой), например:
+--------------------+--------------------+
| _1| _2|
+--------------------+--------------------+
|[day, 0, 0.0, 0.0...|[[1, 9.6389346249...|
+--------------------+--------------------+
Схема фрейма данных выглядит следующим образом:
|-- _1: struct (nullable = true)
| |-- colA: string (nullable = true)
| |-- colB: long (nullable = true)
| |-- colC: double (nullable = true)
| |-- colD: double (nullable = true)
| |-- colE: double (nullable = true)
| |-- colF: double (nullable = true)
| |-- colG: double (nullable = true)
|
|
|-- _2: array (nullable = true)
| |-- element: struct (containsNull = true)
| | |-- _1: integer (nullable = true)
| | |-- _2: double (nullable = true)
Теперь я использовал карту функция внутри фрейма данных для итерации каждой строки и вызова пользовательской функции, подобной этой
df.map(x => {
someFunc(x._1, x._2)
}).persist
Я ожидал, что вызов someFun c () будет только один раз. Так как есть только 1 строка данных. Но его называют 3 раза. Почему someFun c () трижды вызывается?