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를 사용한 데이터 알고리즘

2장. 행동하는 혁신

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

이 장에서는 데이터 요약 디자인 패턴의 맥락에서 가장 중요한 Spark 변환(매퍼와 리듀서)을 살펴보고, 대상 문제에 대해 특정 변환을 선택하는 방법을 살펴봅니다.

보시다시피 주어진 문제 (여기서는 DNA 염기 수 문제를 사용하겠습니다)에 대해 서로 다른 Spark 변환을 사용하는 여러 가지 가능한 PySpark 솔루션이 있지만 이러한 변환의 효율성은 구현 및 셔플 프로세스 (키별로 값 그룹화가 발생하는 경우)로 인해 다릅니다. DNA 염기 수 문제는 고전적인 단어 수 문제(파일/문서 세트에서 고유한 단어의 빈도 찾기)와 매우 유사하지만, DNA 염기 수에서는 DNA 문자의 빈도를 찾는다는 차이점이 있습니다 (A, T, C,G).

이 문제를 선택한 이유는 이 문제를 풀면서 많은 양의 정보(여기서는 DNA 데이터 문자열/서열)를 훨씬 더 작은 유용한 정보(DNA 문자의 빈도)로 압축하는 데이터 요약에 대해 배울 수 있기 때문입니다.

이 장에서는 DNA 염기 수 문제를 해결하기 위해 서로 다른 매퍼와 환원법을 사용하는 PySpark의 세 가지 완전한 엔드투엔드 솔루션을 제공합니다. 이들 간의 성능 차이에 대해 논의하고 데이터 요약 디자인패턴을 살펴봅니다.

DNA 염기 수 예시

이 장의 예제의 목적은 주어진 DNA 문자열/서열 세트에서 DNA 염기 수를 세는 것입니다. DNA, 생물학 또는 유전체학 전문가가 아니어도 이 예제를 이해할 수 있으니 걱정하지 마세요. 기본적인 내용만 알아두면 충분히 이해할 수 있을 것입니다.

인간의 DNA는 약 30억 개의 염기로 구성되어 있으며, 그 중 99% 이상이 모든 사람에게 동일합니다. DNA 염기 수를 이해하려면 먼저 DNA 문자열을 이해해야 합니다. DNA 염기는 아데닌(A), 시토신(C), 구아닌(G), 티민(T)을 나타내는 알파벳 {A, C, G, T} 으로 구성됩니다. 우리의 DNA는 일련의 DNA 문자열로 구성되어 있습니다. 우리가 답하고자 하는 질문은 DNA 문자열 세트에서 각 염기 문자가 몇 번이나 나타나는지입니다. 예를 들어 "AAATGGCATTA" 라는 DNA 문자열이 있는데 이 문자열에서 염기 A가 몇 번 나오는지 묻는다면 답은 5이고, 염기 T 가 몇 번 나오는지 묻는다면 답은 3입니다. 따라서 대소문자를 무시하고 각 염기의 발생 횟수를 세고 싶습니다. DNA 기계는 대문자와 소문자를 생성할 수 있으므로 모두 소문자로 변환합니다.

이 문제에 대해 강력하고 효율적인 Spark 변환의 다양한 조합을 사용하여 세 가지 다른 솔루션을 제공하겠습니다. 모든 솔루션이 동일한 결과를 생성하지만 사용된 변환으로 인해 성능이 달라집니다.

그림 2-1은 Spark를 사용하여 DNA 염기 수 문제를 해결하는 과정을 보여줍니다. 각 솔루션에 대해 PySpark ...

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