본문 바로가기

데엔- Udacity10

ETL 정리 AWS을 활용한 ETL 에 대해서 정리해보는 글 ETL (ELT) 2 종류가 있음 일반적인 AWS 을 활용한 ETL 이라하면 1. Extract S3 → Redshift 쪽으로 data 를 추출해온다 추출할때 python psycopg2, airflow S3ToRedShiftOperator 모두 이용가능 COPY command 를 쓰면 빠름 S3에 데이터가 잘게 쪼개져 있으면 Redshift가 더 빠르게 불러오기 가능 2. Transformation Redshift에 있는 data를 fact / dimensional 테이블에 맞게 Transformation/ Data Wrangling 한다 만약 데이터가 커서 load/handling이 오래걸린다면 AWS EMR을 통해 데이터 처리를 할 수 있음 spar.. 2022. 2. 25.
Unix Timestamp 처리하는법 timestamp (datetime) 데이터를 다루다보면 여러 포맷의 timestamp가 등장한다. 그 중 Unix timestamp(epoch timestamp) 가 가끔 등장하게 되는데 10자리의 digit (세컨드 기준)으로 구성되어 있다 Unix time은 1970년 1월 1일 0시 이후부터 몇초가 흘렀는지 10자리로 알려주게되는데, (밀리세컨드까지 표기하면 13자리) 보통 timestamp가 Unix time으로 저장되어있는 DB에서 데이터를 읽으면 long 형식으로 읽게된다. 이러한 10자리 Unix Time을 내에서 어떻게 "yyyy-MM-dd HH:mm:ss" timestamp 데이터타입으로 변환할 수 있는지 알아보자. 파이썬 (Python pandas) 아래와 같은 레코드가 pandas .. 2022. 2. 17.
Udacity - Data Lakes w/ Spark - PySpark PySpark 기본적인 사용법 pySpark 라이브러리 load from pyspark.sql import SparkSession spark = SparkSession.builder.appName('XXX').getOrCreate() pySpark 사용하기 위해서는 먼저 SparkSession을 만들어야함 SparkSession을 생성한다는 뜻은 spark 시스템을 생성하고 load 하겠다는 뜻. 즉 MasterNode, WorkerNode 등등이 생성된다 ---> 전체적인 Spark 시스템 생성 및 구성 파일 읽기(Read) spark.read.csv('test.csv', inferSchema=True) spark.read.json('test.json') spark.read.load('test.jso.. 2022. 2. 16.
Udacity - Data Lakes w/ Spark - Data Lakes Why Data Lakes ? 비형식(unstructured) 데이터의 증가 데이터 볼륨(volume)의 큰 증가 빅데이터 관련 기술 (하둡, 스팤, HDFS) 향상 머신러닝, 딥러닝 등 다양한 데이터 분석 증가 데이터 웨어하우스가 비형식 데이터를 handle 가능한가? 데이터 웨어하우스도 handle 가능하다. 하지만 많은 비형식 데이터(deep json format 등등)를 tabular 포맷으로 변환하는데 어려움을 겪을 때도 있고, 나중에 어떤 방식으로 사용할지 모른체 transform 한다는 것은 큰 위험이 있음 (a strong commitment without enough knowledge is a huge risk) DW는 very-well-architected 데이터 저장을 해야함(ETL .. 2022. 2. 10.