spark 6

spark 와 db연동 하기

data base에서 바로 spark로 데이터를 불러오자df2 = spark.read.format("jdbc")\ # jdbc는 maria/ mysql 계열 .option("url", db_url)\ .option("user", "db접근 아이디")\ .option("password", "db패스워드")\ .option("dbtable", "mysql에서는 db이름 psql일때는 스키마의 이름을 쓴다")\ .load() 위의 방식으로 읽거나 혹은 .format 메소드 말고 바로 jdbc 명령어를 사용해서도 읽어 올수 있다.df = spark.read.jdbc(url=db_url, table="테이블 이름", properties=db_properties) 단 이때 mariadb의..

spark 2025.01.22

spark memory 관리

spark 1.6+ 부터 spark는 StatciMemoryManager에서  UnifiedMemoryManager로 메모리 관리 모델을 바꾸었다  On - heap memory- jvm에서 관리되는 메모리 영역으로 우리가 spark.executor.memory로 정하는 메모리 크기가 할당된다.- GC가 작동되며 GC에 의해 메모리관리가 이루어진다.Spark executor의 메모리 구조보통 스파크의 executor의 메모리는 spark.executor.memory 옵션을 통해 정한다.spark.executor.memory옵션은 executor의 java heap memory의 양을 결정한다.  그럼 이 memory는 어떻게 관리 될까? spark의 oom 그리고 spill data를 막기 위해서 mem..

spark 2024.02.27

Repartiotion 방법

https://code-lib.tistory.com/13 Spark partition 이해하기 스파크에서 분산 병렬처리를 위해서 Partition에 대한 이해는 필수 스파크 작업의 가장작은 단위는 task다 그리고 task는 1개의partition이다 1 task == 1 partition task는 core에 할당되고 이 core들의 집합은 1 code-lib.tistory.com partition이해하기에서 추가적인 설명을 덧붙이고자 한다. 1. spark.default.parallelism VS spark.sql.shuffle.partitions spark.default.parallelism이란? join, reduceByKey 같이 RDD에서 적용되는 파티션을 다룰때 사용된다. 오직 RDD단에만 ..

spark 2024.02.16

Spark partition 이해하기

스파크에서 분산 병렬처리를 위해서 Partition에 대한 이해는 필수 스파크 작업의 가장작은 단위는 task다 그리고 task는 1개의partition이다 1 task == 1 partition task는 core에 할당되고 이 core들의 집합은 1개의 executor가 담당한다 (보통 spark에서는 1~5개를 1개의 executor에 할당한다 그 이상은 경험적으로 spark성능에 좋지 않은 영향을 준다.) ※ 단 core != task 명심해라. spark.task.cpus 설정 옵션을 보면 Number of cores to allocate for each task.라고 설명 되어있다. 즉 task한개에 여러개의 core가 붙을 수 도 있다. 하지만 기본값은 1이다 즉 1개의 task에 기본적으로..

spark 2024.02.16

자주사용되는 spark config

spark.executorEnv.[EnvironmentVariableName] -> 각 executor의 환경 변수를 지정한다. 더보기 주로 사용되는 환경변수 spark.executorEnv.JAVA_HOME -> 자바 홈 디렉토리 설정 spark.executorEnv.PYSPARK_PYTHON -> 파이썬 환경 디렉토리 설정 spark.pyspark.python -> driver와 executor의 Python binary를 설정 (Pyspark용) -> python binary란 python 실행파일이라 생각하면 쉽다. spark.archives -> driver와 executor노드에 공통으로 사용될 파일을 만든다. (archiving) (사용되는 형식은 .jar, .tar.gz, .tgz and ..

spark 2024.02.13

Spark 설치하기 in Linux - ubuntu

분산처리 프레임워크 Spark를 설치하는 법을 알아보자 과정 1. Spark 다운받기 2. linux 환경 변수 및 설정 3. spark 테스트 1. Spark 다운받기 linux에서 스파크를 다운 받기 위해서는 다양한 방법이있다. 1. gui를 사용가능하다면 https://spark.apache.org/downloads.html스파크 공식홈페이지에 접속하여 다운받으면 된다. 2. terminal을 이용하고자 한다면 wget https://dlcdn.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz 명령어를 이용하여 자신의 홈폴더에 다운받도록 하자. 압축풀기 tar -xvf {spark-tgz file} tar 커멘드를 통해 압축을 풀어주자. spark..

spark 2023.12.22