[Spark]스파크 기초 - (3) 데이터프레임과 실행 계획
·
Data/Spark
스파크의 데이터프레임과 실행 계획에 대해 정리한 글입니다. 1. 들어가며스파크의 동작 원리를 이해하기 위해 유튜브의 PySpark - Zero to Hero 시리즈를 듣고, 내용을 정리하고 있습니다. 이번 글에서는 스파크의 대표적인 자료구조인 데이터프레임과 실행 계획에 대해서 다뤄보려고 합니다. 내용 중 부정확하거나 애매한 부분이 있다면, 언제든지 편하게 알려주세요! 2. 데이터프레임데이터프레임(DataFrame)은 스파크에서 데이터를 다룰 때 가장 많이 사용하는 구조적 API입니다. 데이터를 행(row)과 열(column)로 구성된 표 형태로 표현하기 때문에, 엑셀 시트와 비슷하다고 생각하면 이해하기 쉽습니다. 파이썬이나 R을 사용해보셨다면 데이터프레임이라는 개념이 익숙하실텐데요. 다만, 이들 언어에서..
[DE]Coursera - 원천 시스템 이해 #3: 관계형 데이터베이스 (실습)
·
Data/DE
관계형 데이터베이스를 다루는 실습을 진행하고, 정리한 글입니다. 1. 들어가며지난 글에서는 관계형 데이터베이스가 무엇인지 살펴봤습니다. 이번 글에서는 SQL을 이용해서 데이터를 조회하고, 조작하는 실습을 해보겠습니다. 2. 실습 환경2.1. 개요실습에서는 MySQL에서 제공하는 샘플 데이터베이스(Sakila Database)를 사용합니다. 이 데이터베이스는 DVD 대여점 비즈니스를 모델로 만들어졌으며, 영화 DVD를 빌려주는 가상의 가게를 운영한다고 가정하고 구성되어 있습니다. 고객이 영화를 대여하고 반납하는 등 실제 운영 흐름이 데이터로 표현되어 있습니다. actor: 출연 배우의 이름(이름, 성) 정보address: DVD 매장의 직원 및 고객의 주소 정보category: 영화 카테고리 정보city:..
[Spark]스파크 기초 - (2) 변환과 액션
·
Data/Spark
스파크에서의 변환과 액션에 대해 정리한 글입니다. 1. 들어가며스파크의 동작 원리를 이해하기 위해 유튜브의 PySpark - Zero to Hero 시리즈를 듣고, 내용을 정리하고 있습니다. 이번 글에서는 스파크의 변환과 액션에 대해서 다뤄보려고 합니다. 내용 중 부정확하거나 애매한 부분이 있다면, 언제든지 편하게 알려주세요! 2. 스파크 데이터 처리의 기초2.1. 변환(transformation)과 액션(action)스파크의 주요 데이터 구조는 변하지 않는 특성(immutable)을 가지고 있습니다. 즉, 한번 만들어진 데이터는 직접 수정할 수 없다는 의미인데요. 그렇다면 어떻게 데이터를 원하는 형태로 가공할 수 있을까요? 스파크에서는 변환이라는 개념을 사용합니다. 변환이라는 말을 들었을 때 무언가를 ..
[DE]Coursera - 원천 시스템 이해 #2: 관계형 데이터베이스 (이론)
·
Data/DE
관계형 데이터베이스에 대해 정리한 글입니다. 1. 들어가며지난 글에서는 원천 시스템이 무엇이고, 대표적인 유형에는 어떤 것들이 있는지 살펴봤습니다. 이번 글에서는 그 중 첫번째 유형인 관계형 데이터베이스에 대해 다뤄보겠습니다. 2. 관계형 데이터베이스2.1. 개요관계형 데이터베이스는 데이터를 테이블 구조로 저장하는 시스템입니다. 다양한 산업과 애플리케이션에서 사용되며, 특히 많은 양의 트랜잭션을 빠르고 안정적으로 처리할 수 있다는 점에서 웹과 모바일 애플리케이션의 백엔드 시스템에서 필수 요소로 자리잡았습니다. 2.2. 데이터베이스 설계 방법데이터베이스를 설계하는 방식은 데이터 구조와 성능 요구사항에 따라 결정됩니다. 크게 정규화와 비정규화 두 가지 방법이 있습니다. 이커머스 플랫폼의 데이터베이스 설계를 ..
[DE]Coursera - 원천 시스템 이해 #1: 개요
·
Data/DE
원천 시스템의 개념과 주요 유형에 대해 정리한 글입니다. 1. 들어가며데이터 엔지니어링에 관심이 있으시다면, "견고한 데이터 엔지니어링(Fundamentals of Data Engineering)"이라는 책을 들어보셨을 수도 있을텐데요. 지난 9월, 이 책의 저자인 조 라이스(Joe Reis)와 AWS가 데이터 엔지니어링 코스를 공개했습니다. 데이터 수집, 변환, 저장과 같은 데이터 엔지니어링의 핵심 개념을 이론적으로 다루면서도 AWS 기반의 실습 환경을 제공하는 것이 큰 장점인 것 같습니다. 앞으로 이 코스를 수강하며 알게된 것들을 정리해보려고 합니다. (TMI: 일반적으로 온라인 코스의 수료율은 10%도 되지 않는 것으로 알려져 있습니다. 과연 저는 이 코스를 무사히 끝낼 수 있을까요? 👀) 이번 ..
[Databricks]데이터브릭스 문서 - (1) 데이터 레이크하우스란?
·
Data/Databricks
데이터 레이크하우스와 데이터브릭스에서의 아키텍처 패턴에 대해 정리한 글입니다. 1. 들어가며데이터브릭스의 공식문서를 읽고, 정리해보려고 합니다. 이번 글에서는 데이터 레이크하우스란 무엇인지, 또 대표적인 데이터 레이크하우스 솔루션으로 꼽히는 데이터브릭스의 아키텍처에 대해 살펴보겠습니다. 내용 중 부정확하거나 애매한 부분이 있다면, 언제든지 편하게 알려주세요! 2. 데이터 레이크하우스란 무엇일까?데이터 레이크하우스(Data Lakehouse)를 쉽게 표현하면, "데이터 레이크(Data Lake) + 데이터 웨어하우스(Data Warehouse)"라고 할 수 있습니다. 이름에서 알 수 있듯이, 두 방식의 장점을 결합한 데이터 관리 시스템입니다. 과거에는 분석 목적이나 데이터 활용 방식에 따라 데이터를 서로 ..
[Spark]스파크 기초 - (1) 스파크란 무엇인가?
·
Data/Spark
스파크가 무엇인지에 대해 간단하게 정리한 글입니다. 1. 들어가며스파크의 동작 원리를 이해하기 위해 유튜브의 PySpark - Zero to Hero 시리즈를 듣고, 내용을 정리해보려고 합니다. 이번 글에서는 스파크란 무엇인지, 또 어떻게 동작하는지에 대해서 간단히 다뤄보려고 합니다. 내용 중 부정확하거나 애매한 부분이 있다면, 언제든지 편하게 알려주세요! 2. 스파크란 무엇인가?Apache Spark(아파치 스파크)는 클러스터 환경에서 대용량 데이터를 빠르게 처리할 수 있도록 설계된 오픈소스 통합 컴퓨팅 엔진입니다. 스칼라, 파이썬, 자바, R 등 다양한 언어를 지원하며, 데이터 처리에 필요한 여러 가지 라이브러리를 갖추고 있습니다. 스파크의 가장 큰 장점은 데이터를 메모리(RAM)에 올려놓고 연산을 ..