# 1
Вам придется звонить на .collect()
любым способом. Чтобы создать пустой массив из фрейма данных pyspark, вы можете использовать:
adoles = np.array(df.select("Adolescent").collect()) #.reshape(-1) for 1-D array
# 2
Вы можете конвертировать его в фрейм данных pandas, используя toPandas () ,и затем вы можете преобразовать его в массив numpy, используя .values
.
pdf = df.toPandas()
adoles = df["Adolescent"].values
Или просто:
adoles = df.select("Adolescent").toPandas().values #.reshape(-1) for 1-D array
# 3
Для распределенных массивов вы можете попробовать Dask Arrays
Я не проверял это, но предполагал, что это будет работать так же, как numpy (могут быть несоответствия):
import dask.array as da
adoles = da.array(df.select("Adolescent").collect()) #.reshape(-1) for 1-D array