BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
Big Data Platform

Spark 8편: Rest API를 통한 데이터 수집

by 민우 서 2025년 03월 28일
2025년 03월 28일
37

안녕하세요 오늘은 BESPIN GLOBAL DATA실 한제호님이 작성해주신 ‘Spark 8편: Rest API를 통한 데이터 수집’ 에 대해 소개해드리도록 하겠습니다.

목차
1. 개요
2. 테스트 개요
3. Case 1
4. Case 2
5. 결론

1. 개요

  • 고객사 프로젝트를 수행하다보면 내부 시스템의 데이터뿐만 아니라 외부 시스템을 통해 반 정형 데이터를 수집하는 경우가 종종 있습니다. 외부 데이터는 파일 형태로 제공하는 경우도 있지만 대부분 Rest API 형태로 제공하는 경우가 많으며 Spark은 다양한 커넥터를 제공하지만 직접적으로 Rest API 형태의 데이터를 수집하기 위한 기능을 제공하고 있지 않기 때문에 데이터 엔지니어들은 Spark의 장점인 병렬처리를 활용하지 않더라도 외부 라이브러리를 활용하여 단순처리를 통해 데이터를 수집하도록 구현하는 경우가 많습니다.
  • 물론 매번 수집하는 데이터가 많지 않다면 해당 방법으로 수집하는것도 나쁘지 않다. 그러나 대량의 데이터를 수집하는 경우에는 성능 저하 또는 OOM으로 인해 문제가 발생될 수 있습니다. 이번 시간에는 Spark의 병렬성을 최대한 활용하면서 Rest API를 통해 데이터를 수집하는 방법에 대해 알아보도록 하겠습니다.

2. 테스트 개요

  • 사이트: https://jsonplaceholder.typicode.com/
    • jsonplaceholder 사이트는 rest api 테스트용으로 활용되는 사이트로 다양한 http 메소드와 데이터를 제공한다.
  • 활용 데이터
    • URL: https://jsonplaceholder.typicode.com/posts
    • 최대 100개의 배열형태의 posts 데이터를 응답해주는 API
    • 페이징 처리 가능: _page, _per_page 파라미터를 통해 처리 가능

3. Case 1

  • python requests 라이브러리를 활용하는 방법
  • 장점
    • 단순 python 프로그래밍을 통해 데이터 수집 가능하기 때문에 쉽게 개발 가능
  • 단점
    • 해당 코드는 Spark Driver에서만 구동되기 때문에 병렬처리가 불가하며 단일 스레드로 동작함
    • 초기 테스트용으로 활용은 가능하나 수집되는 데이터량이 많아지면 성능 저하 발생

4. Case2

  • Spark UDF를 활용하는 방법
  • 장점
    • 수집데이터 파티션 수에 따라 병렬 처리 가능
    • 대량 데이터 수집이 유리함
  • 단점
    • 단순 Python 로직에 비해 코드 복잡도가 높음

5. 결론

  • 두 가지 코드에 대해 장단점을 Sample 코드로 알아 보았습니다. 웹 개발과 비교를 하자면 우리가 보통 웹 개발을 할때 꼭 Spring 프레임워크를 써야 하는건 아니다. JAVA의 기본 서블릿을 활용하면 어떻게는 개발할 수 있습니다.
  • 다만 프레임웍에서 제공하는 기능 활용시 여러가지 이점이 있다. 개발자가 관리해야할 포인트(객체에 대한 관리)도 줄어들 뿐만 아니라 프레임웍에서 제공하는 다양한 기능을 활용하므로 인해 성능과 개발 시간을 단축할 수 있는 장점도 있기 때문에 공신력있는 프레임웍을 활용하는 것을 권장하는 것입니다.
  • 약간 다른 의미이지만 굳이 비교하자면 Spark도 프레임웍의 일종입니다. Spark의 기능들을 최대한 활용하지 않고 개발을 수행하게 되면 위의 예시와 같이 Spark의 장점들을 최대한 활용하지 못합니다.
  • 즉, 대량의 데이터를 병렬 처리(고성능과 확장성)의 장점이 있는 Spark으로 개발을 한다는 의미는 개발 시에 파티션에 대한 고려와 그에 따른 성능을 생각하면서 코딩해야 한다는점을 명심해야 합니다. 또한 Spark은 다양한 커넥터와 추가 기능을 통해 방대한 솔루션들과 연동 기능을 제공하고 있기 때문에 데이터 수집 시 리서치 또는 다양한 커뮤니티를 통해 모범사례를 꼭 찾아보기를 권장합니다.

여기까지 ‘Spark 8편: Rest API를 통한 데이터 수집’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다. 

Written by 한 제호/ DATA실

BESPIN GLOBAL

관련

APISparkRest API

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT