2014-12-08 2 views
1

saveAsTextFiles ("prefix", "postfix")를 실행할 때; JavaDStreams의 경우 여러 부분 파일이 만들어 짐을 발견했습니다.spast 스트리밍 saveastextfile 작업, part0000 파일이란

각 파트 파일의 의미를 이해하고 싶습니다.

파일은 다음과 같은 이름을 가지고/part0000, part0001, part0002 I 출력에 사용되는 라인을 기반으로 RDD의 flatmap

JavaDStream<String> words = lines.flatMap(new FlatMapFunction<String, String>() { 
    @Override 
    public Iterable<String> call(String x) { 
    return Lists.newArrayList(NEWSPACE.split(x)); 
    } 
}); 

내 가정이 만드는 것이 었습니다 이러한 파일을 만들 수

코드 각 RDD = 1 라인의 RDD의 DStream이므로 1 파트 파일을 생성해야합니다.

답변

1

DStream은 시간 경과에 따른 RDD 모음입니다. 각 RDD는 Spark 작업자 클러스터에 분산 된 데이터 파티션으로 구성됩니다. 이 그림

enter image description here

각 컬러 라인은 데이터의 흐름을 나타낸다. 그것은 rdd에 묶여있을 때, 그것은 RDD의 파티션입니다. RDD는 각 시간 간격에서 수집 된 데이터로 구성되며 파란색 상자로 표시됩니다.

DStream.saveAsTextFile은 간격 (bluc 상자)마다 작성된 RDD 파일을 만듭니다. 각 파트 파일은 해당 RDD (파란색 blox 내의 색상이있는 선)로 묶인 색칠 된 부분에 해당합니다.

hdfs와 같은 분산 파일 시스템에서 fs는 파티션을 추상화하여 하나의 논리 파일 또는 RDD 당 하나의 파일로 나타냅니다.

로컬 파일 시스템을 사용하면 해당 부분 파일이 사용자가보고있는 것처럼 명시 적으로 표시됩니다.

(*) 이미지에 대한 크레딧 : 스파크 프리젠 테이션 Devoxx 2014에서 내가 더 미안 설명 할 수 있어요

+0

앤디 Petrella와 제라드 마스 (나)에 의해? 폴더는 무엇에 해당하며 파트 파일은 무엇에 해당합니까? 각 파트 파일이 dstream 간격의 단일 rdd 출력에 해당한다고 말하고 있습니까? – tsar2512

+0

삽화가 추가되었습니다. 지금은 더 분명해지기를 바랍니다. – maasg

+0

DStream의 지속 시간과 RDD의 시간 차이를 설명 할 수 있을까요? 나는. 스트리밍 컨텍스트를 설정할 때 redbox/RDD의 지속 시간을 설정합니까? 블루 박스 (RDD)와 DStream 배치 (redbox)의 크기 (시간)는 어떻게 설정 되나요? – tsar2512