2017-02-03 2 views
0

Имейте данные в Spark и хотите преобразовать их в кадр данных Pandas для дальнейшего анализа. Делать это просто:От Spark до Pandas Dataframe итеративно

dataset = sqlContext.sql('SELECT * FROM TEMP') 

df=dataset.toPandas() 

Но таблица кажется довольно большой и есть много затрат времени во время обработки панды.

Имеет ли функция toPandas() атрибуты, такие как итерации или размер фрагмента (например, в read_csv в pandas) для переноса данных переноса итеративно для повышения производительности?

Спасибо!

+0

Насколько велика ваша таблица? Если он слишком велик, на вашем edgenode может закончиться RAM. Поймите, что световые информационные фреймы хранятся на нескольких узлах, тогда как кадры данных pandas обычно хранятся на edgenode. Выполнение вышеуказанной операции требует сбора данных из всех этих нескольких узлов и, следовательно, потребуется много времени, если таблица большая. –

+0

Любая конкретная причина, по которой вы хотите сделать это в пандах, а не искры? –

ответ

0

Невозможно использовать метод toPandas(). Взгляните на источник для функции here.

Как отмечают комментаторы (и указывается в докстерии для метода), вы рискуете физически неспособно это сделать, и я не уверен, что вы могли бы сделать с пандами, что вы не могли выяснить, как это сделать в искры.

Смежные вопросы