2016-06-25 1 views
1

mongoDB에 저장할 필요가있는 rdd가 있습니다.반복적으로 rdd의 각 파티션을 수집 할 수 있습니까?

rdd.map을 사용하여 pongongo를 사용하여 rdd의 각 행을 mongoDB에 쓰려고했습니다. 그러나 피 몬고 개체를 피클 링하는 것은 피할 수없는 것처럼 피클 오류가 발생했습니다.

따라서 드라이버에 rdd를 가져오고 mongoDB에 쓰기 위해 rdd.collect()을 수행합니다.

반복적으로 rdd의 각 파티션을 수집 할 수 있습니까? 이렇게하면 드라이버의 메모리 부족 현상을 최소화 할 수 있습니다.

답변

2

예, 가능합니다. RDD.toLocalIterator()을 사용할 수 있습니다. 당신은 그것이 무료가 아니지만 기억해야합니다. 각 파티션은 별도의 작업이 필요하므로 사용하기 전에 데이터를 지속성을 고려해야합니다.

관련 문제