2017-05-11 1 views
1

저는 최근에 Jupyter 노트북의 pyspark로 작업했습니다. 나는이 데이터를 가지고 Neo4J에서 그래프를 만들기 위해 쪽매 세공 파일에서 데이터를 읽으려고합니다. 성공적으로 HDFS에서 데이터 프레임으로 데이터를로드 할 수 있습니다.데이터 프레임 pyspark에서 큰 데이터 세트 추출하기

데이터 크기가 제한되어 있으면 잘 작동하며 collect() 메소드를 사용하여 파이썬 목록을 추출한 다음 루프를 반복 할 수 있습니다. 데이터 크기가 증가하면 분명히 "자바 힙 크기"오류가 발생합니다 (데이터 프레임에 5 천 개가 넘는 1300 만 개가 넘는 수천 개의 행이 포함됨).

foreach (f)를 사용하려고했지만 "범위를 벗어난 튜플 인덱스"를 얻습니다. df.select ('columnName'). show()를 사용하면 데이터를 볼 수 있습니다. 하지만 그게 Neo4j 세션 (session.run ('Cypher 쿼리')를 사용하여 그래프를 구성하기 위해 값을 추출해야한다는 것입니다.

제 질문은 : 나는 데이터의 중요한 양이있을 때 따라서 데이터 프레임의 행에서 데이터)를 추출

PS : 나는 아무 대답이 없었다 볼 findspark, pyspark, neo4j.v1

답변

1

: 나는이 librairies을 사용하고 있습니다 . 글쎄 미래에 누군가 같은 문제가 생길 경우 어떻게 해결했는지 공개하고있다. 정확한 코드는 파이썬 2 커널에서 작동하지만 파이썬 3에서는 작동하지 않는다. 나는 이전 버전의 jupyter를 설치해야했다. orted pyhton 2.7 및 모든 것이 완벽하게 작동했습니다 (모든 권한과 인터넷 연결이있는 서버에서 작업하는 경우 처음 커널에 새 커널을 설치하기 만하면됩니다). collect()를 사용하는 대신 foreachPartition()을 사용하여 완벽하게 작동했습니다.

관련 문제