복붙노트

[HADOOP] Spark : sc.WholeTextFiles는 실행하는 데 오랜 시간이 걸립니다.

HADOOP

Spark : sc.WholeTextFiles는 실행하는 데 오랜 시간이 걸립니다.

나는 클러스터를 가지고 있으며 총 약 10GB의 총 텍스트 파일을 가져와야하는 wholeTextFiles를 실행합니다. 하나의 NameNode와 두 개의 DataNode, 각각 30GB의 RAM, 4 개의 코어가 있습니다. 데이터는 HDFS에 저장됩니다.

나는 특별한 매개 변수를 실행하지 않으며 작업은 단지 데이터를 읽는 데 5 시간이 걸립니다. 그게 기대 되니? 읽기 속도를 높이기위한 매개 변수가 있습니까 (스파크 구성 또는 파티션, 실행 프로그램의 수)?

나는 지금 막 시작하고있다 그리고 나는 결코 일을 전에 낙관 할 필요가 없었다

편집 : 또한, 누군가가 어떻게 wholeTextFiles 함수가 작동하는지 정확히 설명 할 수 있습니까? (그것을 사용하는 방법이 아니라 프로그래밍 방법). 파티션 매개 변수 등을 이해하는 데 관심이 많습니다.

편집 2 : 벤치 마크 평가

그래서 wholeTextFile 다음에 파티션을 다시 만들려고했는데 첫 번째 읽기가 미리 정의 된 파티션 번호를 사용하기 때문에 문제가 동일하므로 성능이 향상되지 않습니다. 데이터가로드되면 클러스터가 실제로 원활하게 수행됩니다. 전체 (200k 파일의) 데이터를 처리 할 때 다음과 같은 경고 메시지가 표시됩니다.

15/01/19 03:52:48 WARN scheduler.TaskSetManager: Stage 0 contains a task of very large size (15795 KB). The maximum recommended task size is 100 KB.

그게 나쁜 성과의 이유가 될까요? 나는 그것을 어떻게 울립니까?

또한 saveAsTextFile을 수행 할 때 Ambari 콘솔에 따른 속도는 19MB / s입니다. wholeTextFiles로 읽기를 할 때, 나는 300kb / s에있다 .....

wholeTextFile (경로, 파티션)에서 파티션 수를 늘리면 성능이 향상되는 것 같습니다. 하지만 여전히 8 개의 작업 만 동시에 실행됩니다 (CPU 수). 한계를 지키기 위해 벤치마킹 중입니다 ...

해결법

  1. ==============================

    1.코멘트에서 내 추천을 요약하려면 :

    코멘트에서 내 추천을 요약하려면 :

    그래서 제 추천은 :

  2. from https://stackoverflow.com/questions/27989617/spark-sc-wholetextfiles-takes-a-long-time-to-execute by cc-by-sa and MIT license