욱 연구소

슬기로운 개발생활

반응형

Spark 4

[pyspark] 스파크 완벽 가이드 - 파케이(parquet)파일

데이터 소스 스파크는 여섯 가지 핵심 데이터 소스와 커뮤니티에서 만든 수백 가지 외부 데이터 소스가 있다. 핵심 데이터 소스 CSV JSON 파케이 ORC JDBC/ODBC 연결 일반 텍스트 파일 외부 데이터 소스 카산드라 HBase 몽고디비 AWS Redshift (Amazon Redshift는 클라우드에서 완벽하게 관리되는 페타바이트급 데이터 웨어하우스 서비스입니다.) XML 기타 수많은 데이터소스 이중에서도 가장 먼저 알아두어야 할것은 스파크의 기본 파일 포맷인 파케이(parquet)이다. 파케이 파일 파케이란 다양한 스토리지 최적화 기술을 제공하는 오픈소스로 만들어진 컬럼 기반의 데이터 저장 방식 파케이 특징 및 장점 분석 워크로드에 최적화 저장소 공간 절약 전체파일 대신 개별 컬럼을 읽을 수 있..

[pyspark] 스파크 완벽 가이드 - 다양한 데이터 타입 다루기

표현식을 만드는 방법과 다양한 데이터 타입을 다루는 방법 DataFrame을 먼저 하나 생성하자 df = spark.read.format("csv")\ .option("header", "true")\ .option("inferSchema", "true")\ .load("/data/retail-data/by-day/2010-12-01.csv") df.printSchema() df.show(5, False) df.createOrReplaceTempView("dfTable") 스파크 데이터 아비을 변환하기 위한 lit 함수 스파크 데이터 타입으로 변환하는 방법은 반드시 알아두어야 한다. 바로 lit 함수 from pyspark.sql.functions import lit df.select(lit(5), lit..

[pyspark] 스파크 완벽 가이드 - 구조적 API 기본 연산

기본 용어 개념 레코드(record) = row 컬럼(column) = 스프레드시트의 column과 유사 스키마(schema) = 컬럼과 데이터 타입 정의 파티셔닝(partitioning) = 물리적으로 배치되는 형태 파티셔닝 스키마 = 파티션을 배치하는 방법 정의 스키마 DataFrame의 컬럼명과 데이터 타입을 정의 데이터를 읽기 전에 스키마를 정의해야 하는지 여부는 상황에 따라 달라짐 스키마는 여러개의 StructField 타입 필드로 구성된 StructType 객체 df.printSchema() # 실행결과 # root # |-- DEST_COUNTRY_NAME: string (nullable = true) # |-- ORIGIN_COUNTRY_NAME: string (nullable = true..

[pyspark] 스파크 완벽 가이드 - 구조적 API 기본개념과 용어

구조적 API란? 비정형 로그 파일부터 반정형 CSV 파일, 매우 정형적인 파케이(Parquet) 파일까지 다양한 데이터를 처리할 수 있다. 배치(batch)와 스트리밍(streaming) 처리에서 구조적 API를 사용할 수 있음. 구조적 API의 세 가지 분산 컬렉션 API Dataset DataFrame SQL 테이블과 뷰 DataFrame과 Dataset 공통점 DataFrame과 Dataset은 잘 정의된 로우와 컬럼을 가지는 분산 테이블 형태의 컬렉션 결과를 생성하기 위해 어떤 데이터에 어떤 연산을 적용해야 하는지 정의하는 지연 연산의 실행 계획이며, 불변성을 가짐 차이점 DataFrame = 비타입형 데이터 타입이 존재하지 않는 것은 아님 스키마에 명시된 데이터 타입의 일치 여부를 런타임에 확..

반응형