728x90 스파크9 [Spark] Spark Streaming 운영 환경에서의 Structured Streaming 이번 포스트에는 spark streaming을 운영할 때 중요한 포인트를 정리 해보겠습니다.1. 내고장성과 체크포인팅structured streaming application은 단순히 재시작만으로 장애 상황을 극복스파크 엔진이 자동으로 관리하는 체크포인트와 WAL을 사용하도록 설정해야 함장애 상황이 발생하면 단순히 application을 다시 시작하여 중간 상탯값을 저장한 체크 포인트 경로를 참조하도록 설정, 이전 상태를 복구하고 중단된 데이터를 처리함체크포인트 디렉터리나 디렉터리의 파일이 제거된 경우 장애 상황에서 애플리케이션을 정상적으로 실행할 수 없고, 처음부터 다시 스트림 해야 함val static = spark.read.json("/data/activity-data")val streaming =.. 2025. 2. 10. [Spark] Spark Streaming 이벤트 시간과 상태 기반 처리 정리 스트리밍 데이터를 다룰 때 꼭 필요한 개념인 이벤트 시간 처리와 상태 기반 처리에 대해서 정리하겠습니다. 1. 이벤트 시간 처리DStream API는 이벤트 시간과 관련된 처리 정보를 제공하지 않음이벤트 시간:이벤트 시간은 데이터에 기록되어 있는 시간대부분의 경우 이벤트가 실제로 일어난 시간을 의미이벤트를 다른 이벤트와 비교하는 더 강력한 방법을 제공하기 때문에 사용해야 함이때 지연되거나 무작위로 도착하는 이벤트를 해결해야 한다는 문제점이 있음스트림 처리 시스템은 지연되거나 무작위로 도착한 데이터를 반드시 제어할 수 있어야 함처리 시간:처리 시간은 스트림 처리 시스템이 데이터를 실제로 수신한 시간세부 구현과 관련된 내용이므로 이벤트 시간보다 덜 중요이벤트 시간처럼 외부 시스템에서 제공하는 것이 아니라 스.. 2025. 2. 10. [Spark] Spark streaming readStream, writeStream format, option, mode 및 config 정리 이번 포스트에는 spark streaming에서 input과 output에서 사용되는 source(format)의 종류와 option을 정리해보겠습니다. 1. format1) readStream.format() Format 설명 socketTCP 소켓 (netcat 등)에서 텍스트 데이터 수신kafkaKafka 토픽에서 데이터 수신file특정 디렉토리에 추가되는 파일을 실시간으로 읽음rate초당 일정한 개수의 행을 생성하는 데이터 소스rate-micro-batch마이크로 배치 기반으로 일정한 개수의 행을 생성deltaDelta Lake 테이블을 스트리밍 소스로 사용parquetParquet 파일을 스트리밍 소스로 사용orcORC 파일을 스트리밍 소스로 사용jsonJSON 파일을 스트리밍 소스로 사용cs.. 2025. 2. 7. [Spark] Spark Streaming, Structured Streaming 기초 정리 이번 포스트에는 spark streaming 고수준 API인 structured streaming에 대해서 정리해보겠습니다. 1. Structured Streaming 개요 및 특징Structured streaming은 spark SQL 엔진 기반의 스트림 처리 프레임워크(spark의 structured API인 Dataframe, Dataset 그리고 SQL를 사용함)스트리밍 연산은 배치 연산과 동일하게 표현함, 사용자가 스트림 처리용 코드와 목적지를 정의하면 structured streaming 엔진에서 신규 데이터에 대한 증분 및 연속형 쿼리를 실행하고, 코드 생성, 쿼리 최적화 등의 기능을 지원하는 카탈리스트 엔진을 사용해 연산에 대한 논리적 명령을 처리함종합적이며, 정확히 한 번 처리 방식(ex.. 2025. 2. 6. [Spark] Spark Streaming 개념, DStream API, Structured Streaming Stream 처리란스트림 처리는 신규 데이터를 끊임없이 처리해 결과를 만들어내는 행위입력 데이터는 무한하며 시작과 끝을 사전에 정의하지 않음스트림 처리 시스템에 도착한 일련의 이벤트(신용카드 전표 정보, 웹사이트 클릭(행동 로그), IoT 장비 센서 데이터)1) 스트림 처리 사례통보와 알림notification과 alerting은 가장 흔한 스트림 처리 사례연속적인 이벤트에서 특정 이벤트나 이벤트의 패턴을 탐지했을 때 발생실시간 리포트기업에서 직원을 위한 실시간 대시보드를 만들 때에 사용플랫폼 전체 사용량, 시스템 부하, 실행 시간, 신규 기능의 사용량증분형 ETL웨어하우스에서 정보를 얻는 시간을 줄이기 위해 사용신규 데이터(증분 데이터)에 대해서 바로바로 반영할 수 있음데이터 중복 저장이나 유실 방지를.. 2024. 12. 30. [Spark Tuning] PartitionFilters vs PushedFilter 비교, predicate pushdown vs projection pushdown 이번 포스트에서는 spark에서 partitionfilter의 개념과 언제 적용되는지, 그리고 확인하는 방법을 확인하고 PushedFilter와의 차이점,마지막으로 PushedFilter의 종류 predicate과 projection의 차이를 알아보겠습니다. 1. PartitionFilters vs PushedFilters PartitionFilters란 특정 파티션에서만 데이터를 가져오고 관련 없는 파티션은 모두 생략합니다. 데이터 스캔 생략은 성능의 큰 향상을 가져다 줍니다. PushedFilters 보다 선행된다. PartitionFilter기술은 조건에 사용된 컬럼이 파티션되어 있고 스파크가 필터 조건을 충족하는 특정 디렉터리만 스캔할 때 사용됩니다. PushedFilters란 PushedFilt.. 2023. 1. 1. [Data Engineering] 데이터 엔지니어가 읽으면 좋을 책 추천 목록(+ 내가 읽은 순서, 읽을 순서) 이번 포스트에는 데이터엔지니어 오픈톡방 및 지인들에게 추천 받은 책 목록을 분야별로 분류하여 소개해 드리겠습니다. 또한 제가 책을 읽은 순서와 아직 읽지는 못한 책의 읽어야 할 순서도 정리해보겠습니다. 1. SQL 데이터 업계에 있어 가장 중요한 언어라고 생각되는 SQL, 예전에 저희 회사 이사님께서 말씀하시길 결국 하이브, 스파크도 사람들이 SQL사용하는게 편하기 때문에 그거에 맞게 생긴 프레임워크이거나, SQL을 사용할 수 있게 지원하는 방향으로 간다. SQL의 컨셉 for oracle 저자: 변동구 http://www.yes24.com/Product/Goods/6357997 SQL의 컨셉 for ORACLE - YES24 이 책은 SQL 초중급자를 대상으로 한다. SQL의 기본 개념과 문법을 알고,.. 2022. 9. 9. [Spark Tuning] Spark의 Partition 개념, spark.sql.shuffle.partitions, coalesce() vs repartition(), partitionBy() 정리 이번 포스트에는 Spark의 Partition 개념, 종류 및 조작관련 팁, 헷갈릴 만한 개념에 대해 포스트 해보겠습니다.Partition이란?Partition은 RDDs나 Dataset를 구성하고 있는 최소 단위 객체이며, 스파크의 성능과 리소스 점유량을 크게 좌우할 수 있는 RDD의 가장 기본적인 개념입니다.데이터 파티셔닝은 데이터를 청크 단위로 여러 클러스터 노드로 분할하는 메커니즘을 의미합니다.클러스터의 물리적 머신에 존재하는 로우의 집합각 Partition은 서로 다른 노드에서 분산 처리됩니다.즉, 1 Core = 1 Task = 1 Partition입니다. Spark에서는 하나의 최소 연산을 Task라고 표현하는데, 이 하나의 Task에서 하나의 Partition이 처리됩니다. 또한, 하나의 .. 2021. 11. 23. [BigData] 완전 분산 하둡 클러스터(hadoop cluster)(4개 노드) 에 "Spark"(Spark on Yarn cluster) 설치 및 실습 하기 저번 포스트까지는 하둡 클러스터를 구성해보았습니다. 이번 포스트에는 구성된 하둡 클러스터에 Spark를 설치해보겠습니다. 본 포스팅은 standalone모드 4개를 구축하여 spark cluster를 만드는 것이 아닌, 구축된 hadoop cluster의 yarn위에 spark을 올리는 spark on yarn(cluster mode,master(yarn))입니다. 아직 hadoop cluster 구축이 안되신 분은 아래의 링크를 참고해주세요. https://spidyweb.tistory.com/266 [BigData] 완전 분산 하둡 클러스터(hadoop cluster)구축하기(4개 노드) 1. 4개의 가상 노드 띄우기 이번 포스트에는 하둡 fully-distributed mode 구축을 해보도록 하겠.. 2021. 11. 7. 이전 1 다음 728x90