본문 바로가기

스파크5

Spark 병렬처리 성능 테스트 사례 실제 대용량의 데이터를 가지고 Spark를 테스트해볼 수 있는 환경이 아니라이전에 정리했던 내용을 직접 실습하기에는 어려운 점이 있어서 아쉬웠다.그런데 AWS 환경에서 병렬 성능 테스트를 한 글을 찾아서 해당 글을 토대로 내용을 정리해볼 예정이다.이번 글을 정리하며 만약에 실제로 대용량의 데이터를 이관할 경우 Spark의 병렬성을 어떻게 올릴 수 있는지 전략을 배우는 것이 목표이다. 참조한 글https://medium.com/@kane.jo/aws-glue-jdbc-%EB%B3%91%EB%A0%AC-%EC%B2%98%EB%A6%AC-%EC%84%B1%EB%8A%A5-%ED%85%8C%EC%8A%A4%ED%8A%B8-aa2cbaf9ca9f AWS Glue JDBC 병렬 처리 성능 테스트⇒ 컬럼 중 OL_D.. 2024. 7. 14.
Spark Partition 최적화 spark의 병렬처리는 task 단위로 처리가 된다.각 task는 spark의 parition단위와 일치하므로 partition 설정을 어떻게 하느냐에 따라 병렬처리의 효율성이 달라지게 된다. Spark에서 task란Spark Application이 제출되면 job → Stage → Task 순으로 쪼개지게 되며 실질적으로 처리되는 최소 연산 단위는 Task따라서 각 처리 단위는 1 Task = 1 Core = 1 Partition 이 된다.따라서 각 코어 당 얼마만큼의 메모리가 할당될 수 있느냐에 따라 Partition의 크기를 정할 수 있다.Partition 이란?RDDs나 Dataset을 구성하고 있는 최소 단위 객체각 Partition은 서로 다른 노드에서 분산처리된다.하나의 Task에서 하나의 .. 2024. 6. 23.
RDD vs. Dataframe (In Python) RDD 란?Resilient : RDD lineage 그래프를 통한 fault-tolerant가 빠졌거나, node의 실피로 인한 손상된 파티션을 다시 실행시킨다Distributed : 클러스터의 여러 노드에 데이터가 분산되어 저장Dataset : 원천 데이터값 혹은 값의 값들로 이루어진 파티션된 collection 데이터                 (튜플 혹은 다른 레코드로써 사용될 수 있는 데이터 객체들)필요한 상황고수준 API에서 제공하지 않는 기능이 필요한 경우(JAVA, Scala에만 해당, Python은 성능손실이 크다)-> 클러스터의 물리적 데이터 배치를 아주 세밀하게 제어해야 함-> map, filter, reduce와 같은 하위수준의 변환의 경우RDD를 사용해 개발된 기존 코드를 유지해.. 2024. 6. 16.
Spark Cluster 구조 및 작동원리 Spark Cluster Architecture작동구조Spark DriverSpark Application을 제출 시 가장 먼저 제출되는 위치spark application의 실행을 조정하는 프로그램/프로세스기본기능을 실행하고 cluster manager에 연결되는 SparkContext/SparkSession을 생성 SparkContext/SparkSession Spark의 기능(Function)을 사용할 수 있는 진입점Spark 환경구성에 해당하는 SparkConf를 포함하고 있다.Spark 2 이상부터는 SQLContext, HiveContext, StreamingContext가 모두 결합된 SparkSession 사용을 권장 Cluster ManagerWorker Node에 리소스 및 task 할.. 2024. 6. 9.
실시간 데이터 수집-7 (Spark 설치 및 Spark Streaming 사용) 실시간 데이터를 원본그대로 수집하는 것 뿐만 아니라 가공하는 방법을 익히기 위해 Spark Streaming을 선택했다.실시간 데이터 가공에는 대표적으로 Spark Streaming과 Flink가 있는것으로 알고있지만이번 기회에는 익숙한 Spark를 활용하여 데이터를 가공하고 추후에 Spark Streaming과 Flink를 비교하는 게시물을 작성하는 것을 목표로 한다. Spark 설치파일 다운로드Apache Spark 사이트에서 파일 다운로드$ wget https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz설치 경로 설정 & 압축해제압축해제 및 환경 변수 설정$ tar -xvf spark-3.5.1-bin-hadoop3.tgz$ v.. 2024. 4. 7.