Эффективное хранение фрейма данных pyspark или с использованием фрейма данных dask - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь сохранить вывод правила ассоциации, используя FPGrowth, используя pyspark огромного набора данных во фрейме данных pandas.

Это код, который я пытаюсь:

from pyspark.ml.fpm import FPGrowth
from pyspark.sql import Row
from pyspark.context import SparkContext
from pyspark.sql.session import SparkSession
sc = SparkContext.getOrCreate();
spark = SparkSession(sc)

R = Row('ID', 'items')
df=spark.createDataFrame([R(i, x) for i, x in enumerate(transactions2)])

fpGrowth = FPGrowth(itemsCol="items", minSupport=0.6, minConfidence=0.6)
model = fpGrowth.fit(df)
ar=model.associationRules
association_rules=ar.toPandas()

Я получаю сообщение об ошибке:

  Py4JJavaError: An error occurred while calling o115.collectToPython.
: org.apache.spark.SparkException: Job aborted due to stage failure: 
Task 11 in stage 11.0 failed 1 times, most recent failure: Lost task 
11.0 in stage 11.0 (TID 275, localhost, executor driver): 
java.lang.OutOfMemoryError: GC overhead limit exceeded


  ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

Спецификация используемой системы:

Виртуальная машина Windows 10 с 24 Vpu и 240 Гбайт Python 3.6.5, Jupyter Notebook and Pyspark: «2.4.3», версия Java: javac 1.8.0_211

Я не могу решить проблему, так как мне нужно сохранить вывод в файле .csv.

Выходной фрейм данных, который я хочу сохранить в csv:

   --------------------+------------+------------------+------------------+

| предшествующее | как следствие | доверие | поднять |

| [B, E, N ... | [A] | 1,0 | 1,0 |

| [B, C, D ... | [A] | 1,0 | 1,0 |

| [E, F, G ... | [B] | 1,0 | 1,0 |

| [A, B, M ... | [C] | 1,0 | 1,0 |

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