728x90 RDD5 [Spark] issue 정리, java.lang.ExceptionInInitializerError 와 java.lang.IllegalStateException: SparkSession should only be created and accessed on the driver scala언어로 spark object를 만들고 jar로 빌드하여 EMR에 제출할 때 나온 에러를 정리하겠습니다.spark관련 정리는 오랜만이네요.1. 원인 파악분명 다른 object와 다른점 없고, jar파일 위치 이름, class 이름까지도 경로에 명시를 잘해 줬는데도 위 제목과 같은 에러가나와서 계속 헤메고 있던 때에 리서칭을 통해서 원인을 파악할 수 있었습니다.scala object에서 다음과 같은 에러가 나온 경우, 주로 Apache Spark에서 SparkSession이 드라이버 노드가 아닌 워커 노드에서 생성되거나 접근될 때 발생된다고 합니다.→ 이는 SparkSession이 조정 목적으로 드라이버에서 관리되어야 하는 싱글톤 객체이기 때문 java.lang.ExceptionInInitial.. 2024. 6. 22. [Spark] cache() vs persist() 차이점 정리 (feat. storage level) cache() test_df.cache() # test_df를 캐싱 test_df.storageLevel # org.apache.spark.storage.StorageLevel = StorageLevel(disk, memory, deserialized, 1 replicas) persist() import org.apache.spark.storage.StorageLevel # storage 명시를 위한 library import test2_df.persist(StorageLevel.MEMORY_AND_DISK) # test2_df에 persist를 하면서 storage lvl을 명시 test2_df.storageLevel # org.apache.spark.storage.StorageLevel = Stora.. 2023. 9. 19. [Spark] RDD action & transformation + Dataframe의 연산(operation) 분류 Spark는 분산 환경에서 데이터를 다루는 데 필요한 지연 처리방식의 transformation과 즉시 실행 방식의 action을 제공 그리고 DataFrame과 Dataset의 transformation, action과 동일한 방식으로 동작한다. 1. RDD transformation Spark Transformation 는 기존의 RDD에서 새로운 RDD를 생성하는 function이다. Lazy 처리방식이라서 action을 호출할 때 transformation이 실제로 실행된다. -> transformation을 수행할 때 query plan만 만들고 실제로 메모리에 올리지는 않는다. action이 호출될 때 transformation을 메모리에 올려서 수행하고 action을 수행시킨다. transf.. 2021. 12. 29. [Spark] RDD vs DataFrame 큰 차이점, Dataframe을 사용해야 되는 이유, RDD를 사용해야 하는 경우는? RDD, Dataframe 다루기 RDD란? 정의 및 특징, dataframe과의 차이는? RDD(Resilient Distributed Dataset) 특징 설명 Resilient RDD lineage 그래프를 통한 fault-tolerant가 빠졌거나,node의 실패로 인한 손상된 파티션을 다시 실행시킨다. Distributed 클러스터의 여러 노드에 데이터가 분산되어 저장 Dataset 원천 데이터값 혹은 값의 값들로 이루어진 파티션된 collection 데이터 (튜플 혹은 다른 레코드로써 사용될 수 있는 데이터 객체들) RDD 특징 특징 설명 In-Memory RDD속의 데이터는 가능한 많이, 오래 메모리에 저장되어 있다. 불가변성(읽기 전용) 한번 생성되고 나면 변하지 않는다. transformation 연산을 통해 새로운 RD.. 2021. 12. 16. [BigData] Spark( RDD vs DataFrame vs Dataset) 출처 : A comparison between RDD, DataFrame and Dataset in Spark from a developer’s point of view RDD Resilient: 분산되어 있는 데이터에 에러가 생겨도 복구할 수 있는 능력 Distributed: 클러스터의 여러 노드에 데이터를 분산해서 저장 Dataset: 분산된 데이터의 모음 SparkContext를 통해 만들어지며 보통 sc=spark.SparkContext를 통해 객체를 생성한다 SparkSession을 import해도 SparkContext가 포함되어 있는 내용이라 SparkSession만 import해도 사용가능하긴 하다. ex) spark = SparkSession.builder.appName("이름").mas.. 2021. 2. 15. 이전 1 다음 728x90