2018/03

    Spark RDD 특징

    - 하나의 RDD에 속한 요소를 작은 단위로 Partition이라고 한다. 작업을 수행할 때 여러 분산 클러스터로부터 Partition 단위로 나뉘어서 병렬로 처리한다. - 만들어진 Partition은 작업이 진행되는 과정에서 재구성되거나 네트워크를 통해 다른 서버로 이동하는데 Shuffling이 발생함 - 이런 Shuffling은 전체 작업 성능에 큰 영항을 주기 때문에 셔플링이 발생하는 주요 연산마다 Partition의 개수를 직접 지정할 수 있는 옵션을 제공 - 하나의 RDD가 여러 Partition으로부터 나눠져 다수의 클러스터에 처리되다 보니 작업 도중 일부 Partition 장애가 발생하여 데이터 유실이 생김 - Spark는 손상된 RDD를 원래 상태로 다시 복원하기 위해 RDD 생성 과정을 ..

    HDFS에서 블록 개수를 3개로 하는 이유

    HDFS에서 블록을 3개를 기본으로 하는 이유에 대해 찾다가 Quora의 좋은 답글이 있어 요약 해보았다.https://www.quora.com/Is-replication-factor-of-3-a-standard-for-HDFS 다음과 같은 이유로 이상적인 복제 블록은 개수는 3개 이다. 하나의 복제본이 손상되어 액세스 할 수 없는 경우 또 다른 복제본으로 부터 읽을 수 있다.NameNode에게 경고를 보내고 실패한 노드의 복제본을 새 노드로 복구하는데 충분한 시간이 있다.해당 시간에 두번째 노드가 계획되지 않아 실패한 경우에도 중요한 데이터를 처리할 수 있다.Hadoop Rack awareness 시나리에도 적용따라서 3개를 복제 하는 요인은 모든 상황에서 적절하게 잘 작동하며 데이터를 과도하게 복제하..