Data Engineering
-
Spark persist()와 cache()Data Engineering/Spark 2022. 12. 28. 18:54
Spark에서는 action 시점마다 데이터를 메모리로 로드합니다 따라서 action이 여러 번 될 때 매번 데이터를 로드하면 비효율적이므로 한번 로드한 데이터 메모리 상에 저장시킬 수 있는 cache와 persist 메소드가 존재합니다. cache와 persist 두 메소드 모두 데이터를 저장공간에 올려두는 작업을 하는데 약간의 차이가 있습니다. (Spark 3.3.1 기준입니다.) cache() 기본값으로 설정된 storage level만 활용 가능 RDD를 활용할 때에는 cache()는 persist(StorageLevel.MEMORY_ONLY)로 동작 DF 또는 Dataset를 활용할 때에는 cache()는 persist(StorageLevel.MEMORY_AND_DISK)로 동작 persist(..
-
Parquet와 csv 차이Data Engineering/Spark 2022. 12. 28. 18:16
parquet란? column-oriented로 데이터 저장과 조회에 효율 적인 성능을 보이는 데이터 파일 형식이다. parquet 특징 데이터를 대량으로 처리하기 위해 효율적인 데이터를 압축할 수 있고 인코딩 체계를 제공하여준다. row가 아닌 column 기반으로 저장하여 저장 공간을 절약하고 분석 속도를 늘렸다. 위의 두 특징은 column 기반으로 저장 방식의 특징이기도 하다. Columnar Format으로의 데이터 저장의 장점 Columnar Format 조회 시 관련이 없는 데이터를 매우 빠르게 건너뛸 수 있으므로 속도가 빠르다. (필요한 데이터만 조회하면 되는 것이다) 각 column의 데이터 유형이 매우 유사하므로 각 열의 압축이 간단하여, 쿼리 속도가 훨씬 빠르다 Parquet와 CSV..
-