Большой pySpark DataFrame: .collect () падает даже после .limit - PullRequest
0 голосов
/ 11 ноября 2019

Я работаю с pyspark 2.1.1.

Я создал PySpark DataFrame с sqlContext.sql('select...') на искровом кластере, который слишком велик для .collect () или .toPandas ().

Поскольку я хочу использовать его в небольших частях с пандами, сначала я просто хочу поработать над очень маленькой частью в пандах, чтобы протестировать некоторый код.

Я пробовал несколько комбинаций .limit(), .cache (), collect () и .toPandas () все разбили мой sparkContext и / или вызвали java.lang.OutOfMemoryError.

Например, хотя Dataframe имеет только 3 маленьких столбца: этот код вызываетOutOfMemoryError:

test = psdf.limit(5).cache()
test2 = test.collect()

Похоже, что .limit () на самом деле не работает так, как я ожидаю.

Как мне извлечь небольшую часть таблицы с помощью pyspark, которая на самом деле простомаленькая часть, с которой я могу работать очень быстро?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...