Вы можете сначала преобразовать dataframe
в RDD
, используя метод rdd
. A Row
в кадрах данных тоже tuple
, поэтому вы можете просто:
rdd = df.rdd
b = rdd.map(tuple)
b.collect()
Пример DF:
df.show()
+-----+-----+
| Name|Score|
+-----+-----+
|name1|11.23|
|name2|14.57|
|name3| 2.21|
|name4| 8.76|
|name5|18.71|
+-----+-----+
После b.collect()
[('name1', 11.23), ('name2', 14.57), ('name3', 2.21), ('name4', 8.76), ('name5', 18.71)]
РЕДАКТИРОВАТЬ
Если вы собираетесь перебирать этот список кортежей, вы можете позвонить collect()
, но правильный метод - toLocalIterator()