[Spark] 4. Database & Table
·
데이터/Spark
Spark에서의 데이터베이스 & 테이블 관리CatalogSpark에서 테이블과 뷰에 대한 메타데이터를 관리하는 시스템메모리 기반 카탈로그 : Spark 세션이 끝나면 메타데이터가 사라짐Hive와 호환되는 카탈로그 : Persistent 카탈로그로, 세션 종료 후에도 테이블, 뷰 유지테이블 관리 방식테이블은 데이터베이스라는 폴더와 같은 구조로 관리2단계 구조 : 데이터베이스 -> 테이블테이블 유형메모리 기반 테이블/뷰임시 테이블로, 세션 중에만 유효세션 종료시 사라짐예시# 메모리 기반 임시 테이블 생성 예시data = [(1, 'Alice'), (2, 'Bob')]df = spark.createDataFrame(data, ['id', 'name'])# DataFrame을 메모리 기반 테이블로 등록df.cr..
[Spark] 3. Spark SQL
·
데이터/Spark
Spark SQL구조화된 데이터 처리를 위한 Spark 모듈DataFrame 작업을 SQL로 처리 가능DataFrame에 테이블 명 지정 후 SQL 함수 사용 가능pandas에도 pandasql 모듈의 sqldf 함수를 이용하는 동일한 패턴 존재HQL(Hive Query Language)과 호환 제공Hive 테이블을 읽고 쓸 수 있음 (Hive Metastore)Spark SQL vs. DataFrameSQL로 가능한 작업은 굳이 DataFrame을 사용할 이유 X!두 기술을 혼합해서 사용 가능!Spark SQL이 갖는 장점가독성과 사용 친화성Spark SQL 엔진이 최적화에 유리!DataFrame에 비해 포팅이 쉽고 접근 권한 체크도 유리!Spark SQL 사용법namegender_df.createOr..
[Spark] 2. Spark Session
·
데이터/Spark
Spark SessionSpark 프로그램의 시작은 Spark Session의 생성프로그램마다 하나를 만들어 Spark Cluster와 통신 -> Singleton 객체Spark 2.0에서 처음 소개Spark Session을 통해 Spark가 제공해주는 다양한 기능 사용DataFrame, SQL, Streaming, ML API 모두 해당 객체로 통신config 메소드를 이용해 다양한 환경설정 가능단, RDD와 관련된 작업을 할 때는 SparkSession 밑의 sparkContext 객체를 사용Spark Session API 문서Spark 세션 생성 예제from pyspark.sql import SparkSession# SparkSession - Singletonspark = SparkSession.b..
[데이터 엔지니어링 데브코스 4기] 12주차 12/2 TIL
·
데이터 엔지니어링 데브코스
안녕하세요!! 김줘입니다!!! 벌써 11월을 지나 12월이 되었네요!! 프로그래머스 데이터 엔지니어링 데브코스도 정말 막바지를 향해가고 있습니다.제가 취업을 할 수 있을 지는 의문이기는 하네요... 긴 취준 기간에도 포기하지 않고 열심히 하시는 분들이 참 대단한 것 같아요. 기술, 지식 포스팅이 늦어지는 이유가... 다름 아닌 로컬 환경에서의 Spark 오류가 너무 심해서 실습 진행 진도가 나가지를 않아요..Spark Web UI를 통해 확인하는 실습을 하고 있는데, Redshift 커넥션을 위해 jars 파일을 사용하면 실행이 되지를 않네요..! 우선 진도와 배운 내용 정리가 우선이기에,해당 오류를 보류하고 먼저 Spark 포스팅을 시작하려고 합니다. -> 완료!2024.12.03 - [데이터/Spar..
[데이터 엔지니어링 데브코스 4기] 11주차 11/29 TIL
·
데이터 엔지니어링 데브코스
안녕하세요!! 김줘입니다!! 오늘도 어제에 이어서 Spark 강의를 듣다가 피곤해서 기절해버렸답니다 ㅋㅋㅋㅋ 오늘 배운 Spark 내용에 대한 정리는 빠른 시일 내에 포스팅하도록 하겠습니다!!(+ 포스팅 완료하면 해당 포스트 링크 걸어두도록 하겠습니다!! -> 완료!)2024.12.02 - [데이터/Spark] - [Spark] 2. Spark Session2024.12.02 - [데이터/Spark] - [Spark] 3. Spark SQL 분명 많이 잔 것 같은데, 겁나 피곤하네요..! 저는 그럼 남은 강의를 듣고 포스팅하도록 하겠습니다!! 오늘도 봐주시는 여려분 감사합니다!!