DATA/Spark(5)
-
RDD를 사용하여 단어 빈도수를 계산
from pyspark.sql import SparkSessionfrom pyspark import SparkContextfrom pyspark.rdd import RDD# SparkSession 생성# SparkSession은 DataFrame API 및 SQL의 진입점# SparkContext는 RDD API의 진입점ss: SparkSession = SparkSession.builder.\ master("local").\ # 로컬 모드에서 Spark 실행 (싱글 코어 또는 멀티 코어) appName("wordCount RDD ver").\ # 애플리케이션 이름 설정 getOrCreate() # SparkSession이 없으면 새로 생성, 있으면 기존 SparkSession을 반환..
2025.01.19 -
Incremental(증분) 방식과 문제점 | Lambda | Kappa Architecture
1. 문제 상황트래픽 증가 문제페이지 조회 이벤트가 발생할 때마다 DB에서 view_count를 즉시 갱신하면 다음과 같은 문제들이 발생한다:DB 부하 증가:매 이벤트마다 DB에 view_count + 1 업데이트 쿼리를 실행.트래픽이 증가할수록 데이터베이스의 I/O 작업이 많아져 병목 발생.성능 병목:다수의 사용자가 동시에 조회 요청을 보낼 경우, 처리 속도가 느려짐.DB 서버의 성능이 낮거나 트래픽이 급증하는 경우에는 웹 서버까지 응답 속도가 느려짐.데이터 손실 위험:트래픽 과부하로 인해 DB가 요청을 처리하지 못하거나, 타임아웃이 발생하면 이벤트 데이터가 손실.2. Incremental(증분) 방식의 원리Incremental 방식은 데이터베이스와의 상호작용 빈도를 줄이고, 성능을 최적화하기 위해 다..
2025.01.18 -
PySpark를 사용하여 특정 설정으로 Spark 세션을 초기화
# Create a SparkSessionspark = SparkSession.builder \ .appName("WordCount with YARN") \ .master("local") \ .config("spark.submit.deployMode", "client") \ .config("spark.yarn.stagingDir", "hdfs:///user/staging") \ .getOrCreate()# Now you can use `spark` to interact with Spark 1. SparkSession.builder: - SparkSession을 생성하기 위한 진입점이다. SparkSession은 DataFrame API, SQL 및 기타 Spark 구성 요..
2024.08.10 -
Spark의 연산
1. Transformations (변환 연산) - Transformations는 RDD(Resilient Distributed Dataset)를 변환하여 새로운 RDD를 생성하는 연산으로 데이터의 변형, 필터링, 매핑 등을 포함한다. - 특징: - 지연 실행(Lazy Evaluation): 변환 연산은 즉시 실행되지 않고, 액션 연산이 호출될 때 실행된다. 이는 최적화와 연산의 효율성을 높이는 데 도움이 된다. - 불변성(Immutability): 원본 RDD는 변하지 않으며, 변환 연산은 새로운 RDD를 생성한다. - - map(): 각 요소에 대해 함수를 적용하여 새로운 RDD를 생성. - filter(): 주어진 조건을 만족하는 요소들만을 포함하는 새로운 RDD를 생성. 2...
2024.08.10 -
RDD(Resilient Distributed Dataset)의 장애 복원 절차
1. 장애 감지 (Failure Detection): - 스파크의 실행 엔진은 작업을 수행하는 동안 작업의 실패 여부를 지속적으로 모니터링한다. - 실패가 감지되면 해당 작업을 로깅하고, 실패 원인을 분석한다. 2. 계보 추적 (Lineage Tracking): - RDD의 계보 정보를 이용하여 실패한 작업에 필요한 데이터의 출처와 변환 과정을 추적한다. - 계보 정보는 비순환 그래프 형태로 저장되며, 각 RDD의 생성과정을 순서대로 기록한다. 3. 손상된 파티션 식별 (Identification of Corrupted Partitions): - 장애로 인해 손상된 파티션을 식별한다. 4. 손상된 파티션 재생성 (Recreation of Corrupted Partitions):..
2024.08.10