Spark RDD 변환 연산
inputFile = r'C:\Data\sample.txt'
rddData = sparkContext.textFile(inputFile)
rddData.flatMap(lambda x: x.split()).map(lambda x: (x, 1)).reduceByKey(lambda a, b: a+b)
2. RDD 생성
(1) 컬렉션 데이터에서 RDD 생성
numbers = [10, 20, 30, 40, 50]
baseRDD1 = sc.parallelize(numbers)
baseRDD2 = sc.parallelize(numbers, 3)
baseRDD2.count()
반복(Iteration ...
7월 6일 21:35에 게시됨
분산 처리 시스템 학습 및 실전 최적화 전략
MapReduce 아키텍처의 핵심 원리
MapReduce는 대규모 데이터 처리를 위한 분산 컴퓨팅 모델로, 데이터를 분할 → 처리 → 집계의 세 단계로 나누어 처리한다. 주요 단계는 다음과 같다:
Map 단계: 입력 데이터를 키-값 쌍으로 변환하고, 각 요소에 대해 독립적인 연산 수행.
Shuffle & Sort 단계: 동일한 키를 가진 값들을 그룹화하여 리듀서로 전달.
Reduce 단계: ...
7월 5일 16:05에 게시됨
RDD 성능 최적화 및 실용적인 문제 해결 전략
성능 튜닝을 위한 핵심 기법
6.1 파티션 수 조정을 통한 병렬 처리 최적화
파티션 수는 Spark 애플리케이션의 병렬성과 리소스 사용 효율에 직접적인 영향을 미친다. 너무 적은 파티션은 클러스터 자원 활용도를 낮추고, 지나치게 많은 파티션은 스케줄링 오버헤드를 증가시킨다.
# HDFS 파일 로딩 시 초기 파티션 수 설정
log_rdd = sc.textFile("hdfs:///data/logs/acce ...
6월 8일 00:46에 게시됨
PySpark 기초 실습 및 RDD 활용
PySpark에서 Spark 작업 환경을 초기화하고 버전 정보를 확인하는 방법은 다음과 같습니다.
# 필요한 모듈 가져오기
from pyspark import SparkConf, SparkContext
# Spark 설정 객체 생성
config = SparkConf().setMaster("local[*]").setAppName("example_app")
# SparkContext 생성
context = SparkContext(conf=config)
# 현재 PySpark 버전 출력
print(context.ver ...
6월 6일 20:05에 게시됨
Apache Spark에서 RDD, DataFrame, Dataset 변환 방법
DataFrame와 RDD 상호작용
공식 문서: https://spark.apache.org/docs/2.2.1/sql-programming-guide.html
1. DataFrame와 RDD 상호작용 - 반사 방법 (RDD ⇒ DataFrame)
① 샘플 클래스 생성, ② toDF() 메소드 호출
package com.spark.example
import org.apache.spark.sql.SparkSession
/**
* DataFrame과 RDD의 상호작용 예제
*/
object SparkDataConversion {
def main(ar ...
5월 23일 05:21에 게시됨