인프런 커뮤니티 질문&답변
RDD나 DataFrame에 분산저장 질문드립니다.
작성
·
197
0
data를 저장할 때, 분산시켜서 저장시킨다고 하셨는데, 왜 분산시켜서 저장하는 것인지 궁금합니다.
구체적 질문사항.
- a라는 데이터를 5곳에 1/5 씩 분산시켜서 저장한다면, a가 어떤 단위인지 궁금합니다. 예를 들어 row가 100인 data를 20개 씩 저장하는 것인지? 아니면 서로다른 종류의 data file이 10가지(파산관련 데이터파일, 날씨예보 데이터, 주가 데이터 등등 10가지 종류)가 있어서, 2가지씩 나눠서 저장하는 것인지 궁금합니다.
2. 분산시켜서 데이터를 저장하면, 이점이 무엇인지 궁금합니다.
감사합니다.
답변 1
1
권 철민
지식공유자
안녕하십니까,
빅데이터 처리의 핵심은 분산 데이터 처리 입니다. 그리고 Spark은 오픈 소스 기반의 빅데이터 분산 처리의 대표 시스템입니다.
매우 큰 대량 데이터를 한번에 처리해야 할 경우 분산해서 처리하는 것이 단일 처리보다 높은 Throughput으로 더 빠르게 처리할 수 있습니다. 물론 단일 건으로 처리해야 한다면 분산 처리보다 단일 처리가 더 좋습니다(예를 들어 웹기반의 사용자 단건 데이터 처리)
대량 데이터 10TB에서 부서별 매출을 뽑아내야 한다면 한대의 서버에서 10TB를 처리하는 것 보다 10대의 서버에서 1TB씩 가공을 해서 처리하는 것이 더 빠를 수 있습니다. 물론 10대의 서버에서 데이터를 나중에 취합하는 부담은 있지만 일반적으로 분산 시스템은 중첩된 데이터 처리를 최소화 할 수 있는 다양한 기능을 갖추고 있습니다.
- a라는 데이터를 5곳에 1/5 씩 분산시켜서 저장한다면, a가 어떤 단위인지 궁금합니다. 예를 들어 row가 100인 data를 20개 씩 저장하는 것인지? 아니면 서로다른 종류의 data file이 10가지(파산관련 데이터파일, 날씨예보 데이터, 주가 데이터 등등 10가지 종류)가 있어서, 2가지씩 나눠서 저장하는 것인지 궁금합니다.
=> 분산 기준은 사용자가 정하기 나름입니다. spark은 파티션 단위로 데이터를 분산합니다. 그리고 파티션 키는 사용자가 데이터를 기반으로 지정할 수 있습니다. 보통 파티션 키값에 따라 범위(range)나 해쉬값 기반으로 분산합니다.
2. 분산시켜서 데이터를 저장하면, 이점이 무엇인지 궁금합니다.
=> 위 설명 내용 참조 부탁드립니다.
감사합니다.






감사합니다!