Ошибка использования стека C в R H2O при преобразовании данных - PullRequest
0 голосов
/ 30 августа 2018

Я использую sparklyr и H2O в R для разработки некоторых моделей ML. Получение ошибки при начальном чтении данных. Я извлекаю данные, используя spark_read_csv, настраиваю разделы, используя sdf_partition, затем определяю кадр данных H2O, используя as_h2o_frame

.
df <- spark_read_csv(sc,
                     "frame_name",                                       
                     "aPathToData.csv")

partitions <- df %>% sdf_partition(training = 0.6, 
                               test_validate = 0.4,
                               seed=12)

train_set    <- as_h2o_frame(sc, 
                             partitions$training,
                             name="train_set")

Это возвращает ошибку:

Ошибка: использование стека C 38903392 слишком близко к пределу

Я успешно запустил этот точный код на гораздо меньшем наборе данных: 145 МБ против моего текущего CSV, который составляет 2,3 ГБ. Тем не менее, у меня есть 32 ГБ памяти, и она не соответствует размеру набора данных, я отбросил большинство строк и уменьшил его до 32 МБ, но все равно выдает ошибку. Должно быть чем-то уникальным для набора данных, кроме размера.

ОБНОВЛЕНИЕ: ошибка связана с количеством столбцов в наборе данных. Когда я запускаю as_h2o_frame с количеством столбцов в кадре данных spark за 1689, я получаю сообщение об ошибке. 1689 или меньше столбцов, без ошибок.

1 Ответ

0 голосов
/ 30 августа 2018

Поскольку сообщение об ошибке, похоже, исходит от R, ошибка, скорее всего, связана с проблемой R или sparklyr, а не с ошибкой в ​​H2O. Однако, если вы можете отправить эту проблему в газированную воду repo с примером воспроизводимого кода и журналами (если возможно), проблему можно рассмотреть, и будет легче определить, какой пакет вызывает ошибку, и направьте ошибку в правильный проект.

...