빅 데이터셋 프로파일링을 위한 Apache Spark와 Deequ

대규모 데이터 세트의 품질을 유지하는 데 어려움을 겪었거나 분석에 사용된 데이터 속성의 신뢰성을 보장하기 어려웠던 적이 있으신가요? 그렇다면 Deequ와 Spark를 통합하는 것이 여러분이 찾고 있는 해결책이 될 수 있습니다.


[ Apache Spark ]

  • https://spark.apache.org/

  • 등장배경

    • MapReduce 형태의 클러스터 컴퓨팅 패러다임의 한계를 극복하고자 등장

    • MapReduce는 Disk로부터 데이터를 읽은 후, Map을 통해 흩어져 있는 데이터를 Key-Value 형태로 연관성 있는 데이터끼리 묶은 후에, Reduce를 하여 중복된 데이터를 제거하고, 원하는 데이터로 가공하여 다시 Disk에 저장. 하지만 이러한 파일 기반의 Disk I/O는 성능이 좋지 못했고, In-memory의 연산을 통해 처리 성능을 향상시키고자 Spark가 등장

  • 개념

    • 오픈소스이며, 범용적인 목적을 지닌 분산 클러스터 컴퓨팅 프레임워크

    • Fault Tolerance & Data Parallelism을 가지고 클러스터들을 프로그래밍할 수 있게

    • RDD, Data Frame, Data Set의 3가지 API 제공

    • In-memory 연산을 통해 디스크 기반의 Hadoop에 비해 성능을 약 100배 향상

  • 구성

    • Cluster Manager: Cluster 관리, Hadoop의 YARN/Apache Mesos

    • Distributed Storage System: 데이터 분산 저장하는 Distributed Storage System, HDFS(Hadoop Distributed File Syste), MapR-FS(MapR File System), Cassandra, OpenStack Swift, Amazon S3, Kudu, custom solution 등

  • 특징

    • 대규모 데이터 세트를 빠르게 처리하기 때문에 데이터 분석, 특히, 데이터 프로파일에 매우 중요한 도구

    • SQL,스트리밍, 머신러닝 및 그래프 처리를 위한 기본 제공 모듈이 있는 대규모 데이터 처리용 통합 분석 엔진

    • Spark는 클라우드의 Apache Hadoop, Apache Mesos, Kubernetes에서 자체적으로 실행될 수 있으며 다양한 데이터 소스에 대해 실행

    • 최첨단 DAG(Directed Acyclic Graph) 스케줄러, 쿼리 최적화 도구, 물리적 실행 엔진을 사용하여 일괄 처리 데이터와 스트리밍 데이터 모두에 대해 고성능을 달성

    • Scala, Python, R, SQL 셸에서 대화형으로 Spark를 사용하여 애플리케이션을 빠르게 작성 가능

    • SQL, DataFrame, 머신러닝용 MLlib, GraphX, Spark Streaming을 비롯한 다양한 라이브러리를 지원


[ Deequ ]

  • https://github.com/awslabs/deequ

    https://aws.amazon.com/ko/blogs/big-data/test-data-quality-at-scale-with-deequ/

  • 개념

    • Amazon 에서 개발 및 사용되는 오픈 소스 도구로 Apache Spark 을 기반으로 구축된 라이브러리

    • Data Quality 제약 조건을 정의, 추가, 편집

  • 주요 구성 컴포넌트

    • Metric Computation: data quality metric 계산, 계산된 원시 data quality metric 에 직접 접근 가능

    • Constraint Verification: 사용자는 확인할 data quality 제약 조건 집합을 정의, 제약 조건 검증 결과가 포함된 data quality report를 생성

    • Constraint Suggestion: 사용자 지정 data quality 제약 조건을 정의하거나 유용한 제약 조건을 추론하기위해 데이터를 프로파일링하는 자동화된 제약 조건 제안

  • 특징

    • 데이터 프로파일링을 위한 강력한 솔루션을 제공하여 정확한 분석에 필수적인 누락된 값이나 불일치 같은 문제를 식별하고 수정할 수 있게

    • 데이터셋의 제약조건에 따른 data quality metric 을 정기적으로 계산하여, 성공할 경우 데이터셋을 소비자에게 게시하고, 오류가 발생하면 데이터셋 게시가 중지

    • 일반적으로 Spark 에서 다룰 수 있는 데이터셋(분산 파일 시스템 또는 데이터 웨어하우스) 에 대한 Data quality 측정 가능

    • spark 을 사용하여 소스를 읽고 최적화된 집계 쿼리 세트를 통해 지표를 계산

    • Deequ를 사용하면 모든 고객 기록이 완전한지, 이메일 주소가 유효한 형식을 따르고 있는지, 중복 항목이 없는지 확인하기 위한 검사를 쉽게 설정


[ Apache Spark와 Deequ의 통합 ]

  • Spark의 확장 가능한 데이터 처리 프레임워크를 활용하여 이러한 품질 검사를 방대한 데이터 세트에 효율적으로 적용합니다. 이 조합은 단순히 문제를 표시하는 데 그치지 않고 수정 프로세스를 안내하는 실행 가능한 인사이트를 제공합니다.

  • 예를 들어, 데이터 세트에서 불완전한 레코드가 많이 발견되면 데이터 수집의 결함이나 데이터 입력 오류 등 원인을 조사하고 이를 수정하여 데이터의 전반적인 품질을 향상시킬 수 있습니다.

  • 데이터의 잠재력을 최대한 활용하고 싶다면 Spark와 Deequ의 강력한 기능을 활용하는 것이 좋습니다. 이 도구 세트를 사용하면 데이터의 품질을 보호하고 의사 결정 프로세스를 획기적으로 개선할 수 있으며, 데이터 기반 인사이트를 강력하고 안정적으로 확보할 수 있습니다.


보다 상세한 내용은 참고자료와 원문을 참고해주세요.


[ 참고 ]

  • https://mangkyu.tistory.com/128

  • https://velog.io/@srk/Deequ-Data-Quality-%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC

  • source: https://dzone.com/articles/profiling-big-datasets-with-apache-spark-amp-deequ?utm_source=www.bigdatanewsweekly.com&utm_medium=referral&utm_campaign=deploying-ml-ai-systems-to-production

Profiling Big Datasets With Apache Spark and Deequ - DZone

dzone.com

Profiling Big Datasets With Apache Spark and Deequ - DZone

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 7월 4일 오전 6:21

댓글 0

    함께 읽은 게시물

    < 내 안의 비평가에 맞서는 법: 이름을 붙이고 무시하기 >

    1

    ... 더 보기

    《디자인하는 사람이라면 '수단과 목적을 헷갈리지 말자'》

    ... 더 보기

    사용자가 공유한 콘텐츠

    www.folin.co

    사용자가 공유한 콘텐츠

    ‘탤런트’를 인재라고 생각하지 말고 그냥 TV드라마 탤런트로 생각해 보자. 주연이든 조연이든 지나가는 사람1,2든…모두 탤런트다. 탤런트만 있으면 드라마가 완성되는가? 그렇지 않다.

    ... 더 보기

    [백진기 칼럼]‘누가 탤런트냐?’(42편)

    메디칼타임즈

    [백진기 칼럼]‘누가 탤런트냐?’(42편)

    📢네이버플러스 스토어, 8일 만에 100만 명 모은 비결은

    ... 더 보기

    네이버플러스 스토어, 8일 만에 100만 명 모은 비결은

    www.openads.co.kr

    네이버플러스 스토어, 8일 만에 100만 명 모은 비결은

    뤼튼의 누적 투자 유치액은 약 1300억원으로 분석됐다. 뤼튼에 따르면 거대언어모델(LLM)·반도체가 아닌 AI 서비스 플랫폼 분야 스타트업이 누적 투자액 1000억원을 넘은 것은 처음이다.

    ... 더 보기

    뤼튼, 1080억원 규모 시리즈B 투자 유치

    조선비즈

    뤼튼, 1080억원 규모 시리즈B 투자 유치