Skip to Content
Spark를 사용한 데이터 알고리즘
book

Spark를 사용한 데이터 알고리즘

by Mahmoud Parsian
May 2025
Beginner to intermediate
438 pages
6h 57m
Korean
O'Reilly Media, Inc.
Book available
Content preview from Spark를 사용한 데이터 알고리즘

5장. 데이터 파티셔닝

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

파티셔닝은 "나누거나 분리하는 경계를 만들어 분리하는 행위"로 정의됩니다. 데이터 파티셔닝은 쿼리 실행 성능을 개선하기 위해 Spark, Amazon Athena, Google BigQuery와 같은 도구에서 사용됩니다. 빅데이터 솔루션을 확장하기 위해 데이터를 파티션으로 나누어 개별적으로 그리고 병렬로 관리, 액세스, 실행할 수 있습니다.

이 책의 이전 장에서 설명한 대로, Spark는 데이터를 파티션이라고 하는 작은 덩어리로 분할한 다음 작업자 노드의 실행기를 사용하여 이러한 파티션을 병렬 방식으로 처리합니다(여러 파티션을 동시에 처리할 수 있음). 예를 들어, 입력에 1,000억 개의 레코드가 있는 경우 Spark는 이를 10,000개의 파티션으로 분할할 수 있으며 각 파티션에는 약 1,000만 개의 요소가 포함됩니다:

  • 총 기록 수 100,000,000,000

  • 파티션 수 10,000

  • 파티션당 요소 수입니다: 10,000,000

  • 가능한 최대 병렬 처리: 10,000

참고

기본적으로 Spark는 Java의 Object.hashCode() 함수를 사용하는 HashPartitioner 를 사용하여 해시 기반 파티셔닝을 구현합니다.

데이터를 분할하면 관리성과 확장성을 개선하고, 경합을 줄이며, 성능을 최적화할 수 있습니다. 전 세계 모든 국가(7개 대륙, 195개국)의 도시에 대한 시간별 기온 데이터가 있고, 특정 대륙, 국가 또는 국가 집합에 대한 데이터를 쿼리하고 분석하는 것이 목표라고 가정해 보겠습니다. 데이터를 적절하게분할하지 않으면 각 쿼리마다 원하는 결과를 얻기 위해 전체 데이터 집합에 매퍼와 리듀서를 로드하고, 읽고, 적용해야 합니다. 대부분의 쿼리에는 실제로 데이터의 하위 집합만 필요하기 때문에 이는 매우 효율적이지 않습니다. 훨씬 더 빠른 접근 방식은 필요한 데이터만 로드하는 것입니다.

Spark에서 데이터 파티셔닝은 주로 작업을 독립적으로 실행할 수 있도록 병렬 처리를 목적으로 수행되지만, Amazon Athena 및 Google BigQuery와 같은 쿼리 도구에서는 전체 데이터 세트가 아닌 데이터의 일부를 분석할 수 있도록 하는 데 그 목적이 있습니다. PySpark는 이러한 도구가 쿼리를 효율적으로 수행할 수 있도록 열 이름별로 데이터 프레임을 물리적으로 매우 쉽게 분할할 수 있게 해줍니다.

파티션 소개

데이터를 파티셔닝하면 각 쿼리에서 스캔하는 데이터의 양을 제한하여 성능을 개선하고 비용을 절감할 수 있습니다. 예를 들어, 파티셔닝을 위해 Spark와 Hive를 활용하는 Amazon Athena를 사용하면 어떤 키로도 데이터를 파티션할 수 있습니다(BigQuery도 동일한 기능을 제공합니다). 따라서 앞서 예로 든 날씨 데이터의 경우 모든 국가에 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

데이터 엔지니어를 위한 97가지 조언

데이터 엔지니어를 위한 97가지 조언

Tobias Macey, 임혜연(Lim Hye Yeon)
클라우드 엔지니어를 위한 97가지 조언

클라우드 엔지니어를 위한 97가지 조언

Emily Freeman, Nathen Harvey, 정기훈(Jung Ki Hun)
프로그래머의 길 멘토에게 묻다

프로그래머의 길 멘토에게 묻다

David Hoover, Adewale Oshineye, Kang Jung Bin

Publisher Resources

ISBN: 9798341655317Supplemental Content