본문 바로가기
728x90

dataframe7

[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] 스파크의 문법적 자유도, 스키마 조작, dummy 생성 이번 포스트에서 다룰 것 스파크의 다양한 문법을 소개 스키마를 정의하여 dataframe 만들기 dummy데이터 생성 아래의 링크에서 201508_trip_data.csv 파일 다운로드 후 Spark에서 Data Read https://github.com/Spidyweb-3588/python_skillup/tree/main/201508data read&write + 파티션 조작에 관한 간단한 문제예시를 보시려면 아래의 링크를 참조해주세요. 2022.08.23 - [BigData/Spark & Spark Tuning] - [Spark] PySpark read & write + partitioning 간단한 예시문제 1. Start_Station,End_Station 컬럼을 4가지 방법으로 조회 #1. cs.. 2022. 3. 26.
[Spark] Spark 실행 과정 by Catalyst Optimizer, Query plan 보는 법, Spark UI 보는 법 Query Plan을 보기에 앞서 Spark 코드의 실행 과정을 알아 보겠습니다. 1. Spark 실행 계획 논리적 실행 단계(logical plan) 사용자의 코드를 논리적 실행 계획으로 변환 논리적 실행 계획 단계에서는 추상적 transformation만 표현하고, driver나 executor의 정보를 고려하지 않음 이 논리적 실행 계획으로 변환 시키는 데에는 여러 단계가 있는데, 1) unresolved logical plan(검증 전 논리적 실행 계획) 코드의 유효성과 테이블이나 컬럼의 존재 여부만을 판단하는 과정, 실행 계획은 검증되지 않은 상태 spark analyzer는 컬럼과 테이블을 검증하기 위해 Catalog, 모든 테이블의 저장소 그리고 Dataframe 정보를 활용 필요한 테이블이.. 2022. 1. 12.
[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 예제, Dataframe 특징, 설정 값, SQL 파일 읽어오기 csv, json, parquet 등등 df = spark.read.format("json").option("header","true").load("주소") //option("header","true")는 해당 열의 이름을 표기 df = spark.read.format("csv").option("inferSchema","true").load("주소") df = spark.read.format("parquet").load("주소") option 종류 sep: 구분자 default: , Spark 1.6 방식에서는 delimiter를 사용해야 한다 encoding default: UTF-8 quote: value가 큰 따옴표로 묶인 경우 "를 지정 defualt: " escape: 구분자가 v.. 2021. 2. 17.
[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.
728x90