почему Python DataFrames локализованы только на одном компьютере?

Я читаю искру исчерпывающее руководство, в котором говорится:

Python / R DataFrames существуют на одном компьютере, а не на нескольких машинах ... это ограничивает то, что вы можете делать с данным DataFrame, ресурсами, которые существуют на этом конкретном компьютере ..

поэтому мне интересно, почему Python dataFrame не может работать на нескольких машинах? и если это означает, что питоны не распространяются?
Обновление
есть ли у Python / R эквивалентный распределенный DataFrame, такой как Spark scala / java ?? DataFrame


person aName    schedule 01.09.2020    source источник


Ответы (2)


Pandas не позволяет вам самостоятельно распространять фрейм данных на несколько компьютеров. Нам хорошо, когда у вас есть данные, которые

  • Поместиться в память (RAM)
  • Умещается на диске

Итак, это хорошо работает, когда у вас есть данные, которые можно обрабатывать на одной машине. Но когда потребности в данных и обработке возрастут, вы захотите перейти к библиотекам, которые хранят и обрабатывают распределенную / параллельную обработку фреймов данных. Концепция фрейма данных является общей для этих библиотек, но реализация отличается для обеспечения распределенной вычислительной мощности. Два хороших примера:

  1. Dask, он обычно используется на одной машине, использующей несколько _1 _ / _ 2_ от multiprocessing/multitasking, но также может хорошо работать в распределенном кластере.
  2. Apache Spark в основном используется в кластерном режиме на нескольких узлах, отсюда и фреймворк для распределенной обработки данных. (но его также можно использовать на отдельной автономной машине)

Обновление:

Вы спросили это

КОНЦЕПЦИЯ DataFrame не является распределенной, однако у R и Python есть другая концепция для распределенных вычислений.

Dataframe не обязательно должен быть нераспределенным или распределенным, это концепция, DataFrame - это двухмерная структура данных со столбцами, которые могут иметь разные типы, и ее настолько легко и эффективно запрашивать, обобщать и манипулировать, что она была принята во многих парадигмах программирования и библиотеках, ориентированных на данные. Таким образом, использование и управление этими фреймами данных может осуществляться распределенным образом, а также для обработки больших данных. Spark - это всего лишь пример фреймворка распределенной обработки данных, который можно использовать со многими языками, включая R и Python.

person A.B    schedule 02.09.2020
comment
Итак, подведем итог, DataFrame CONCEPT - это тот, который не является распределенным, однако R и Python имеют другую концепцию для распределенных вычислений. - person aName; 02.09.2020
comment
Я обновил ответ, чтобы включить ваш вопрос - person A.B; 02.09.2020

Например, pandas DataFrame не распространяется.

В заявлениях говорится, что DataFrame не уникален, существует несколько концепций DataFrame. Несмотря на то, что существует множество концепций, Spark DataFrame является распределенным, а другие, то есть python и R, - нет.

Это не значит для DataFrame pyspark.

person Lamanus    schedule 02.09.2020