본문 바로가기

분류 전체보기111

[실날데] 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 - 3주차: 데이터 파이프라인이란? 데이터 파이프라인이란? 용어 설명: ETL 데이터 프로세싱을 위해 실행하는 코드. 흔히 말하는 ETL이라고 하는 것이 곧 데이터 파이프라인임. ELT도 거시적인 관점에서는 데이터 파이프라인. ETL은 외부 데이터를 내부 데이터 시스템(데이터 웨어하우스 등)으로 가져오는 것 ELT는 내부에 있는 데이터를 재가공해서 만드는 것 데이터 레이크를 같이 쓰기도 함 ELT 프로세스를 위한 전용 기술이 있으며, dbt가 가장 유명하다 용어 설명: Data Lake vs Data Warehouse 가장 큰 차이점: 다음을 수 있는 데이터의 크기 데이터 레이크 (Data Lake) 구조화 데이터 + 비구조화 데이터 로그 데이터는 크기가 크기 때문에 웨어하우스에 로딩하기 힘들어. 그리고 구조화되지 않았기 때문에 sql로 .. 2023. 6. 18.
[SQL] COUNT(*), COUNT(1), COUNT(expression)의 이해 Introduction COUNT()는 SQL에서 가장 많이 사용하는 집계함수 중 하나! 많이 사용하긴 하지만 이 COUNT()에도 생각보다 더 복잡한 내용들이 있어서 정리해둔다. test 테이블의 value 컬럼에 대해서 각각 COUNT(*), COUNT(1), COUNT(value), COUNT(DISTINCT value)를 날렸을 때 어떤 값들이 나올까? (처음 위와 거의 비슷한 문제가 나왔을 때 풀지 못했었다...) 정답은 7, 7, 0, 6, 4. COUNT()의 기본적인 원리 count()는 기본적으로 괄호 안에 들어가는 조건에 맞는 레코드의 수를 세주는 것. 그렇기 때문에 ()안에 들어가는 조건이 무엇인지가 중요해진다. COUNT()의 용례 COUNT(*): NULL이나 중복값에 상관없이 모.. 2023. 6. 18.
[실날데] 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 2주차 - 빅데이터 세상에도 SQL은 중요할까? SQL의 장단점 장점 빅데이터가 구조화된 데이터일 때 SQL만큼 간단하고 강력하다 SQL을 알면 프로그래밍을 할 줄 모르더라도 데이터를 조작할 수 있음 (SQL은 역사가 더 오래되었기 때문에 할 수 있는 사람이 더 많음, ex. 데이터 분석가) 빅데이터가 뜨고 하둡이 떴을 때 (~2000년대 후반까지) SQL 죽었다고 했지만 그 이후에 다시 살아남. 빅데이터 프로세싱이 너무 효율이 떨어지기 때문. Pandas 등으로 하면 번거롭고 순차적으로 느리지만 SQL은 훨씬 간단함. 데이터셀 로딩하고 조인하고 그룹하고 그 다음 카운트하고를 순차적으로 하나씩 기술해줘야 함. 개발자는 이걸 당연하다고 생각하지만, 아닌 사람들도 있고. 선언식이 아니기 때문에 끝까지 원하는 것을 알 수 있기 때문에 컴파일러가 최적화를 못.. 2023. 6. 15.
[실날데] 실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트 1주차 - Redshift 소개 Redshift 소개 What is Data Engineering? Introduction 모든 서비스에 대해서 리텐션이 좋은가, 가장 돈을 많이 쓰는 사람들은 누구인가를 알아야 함 돈을 많은 쓰는 사람들이 얼마나 재방문하나, 언제 이탈하나 내가 어떤 가정을 하고 있는가, 전제에 대한 의심 등을 해봐야 함 Data Engineer? Managing Data Warehouse Writing and Managing Data Pipelines Types of data pipeline batch, streaming summary data generation : 이미 적재한 데이터를 조인해서 새로운 데이터를 만들어내는 (etl이 바깥에 있는 데이터를 가져오는 느낌이라념 elt는 내부, dbt 툴을 쓰는 analy.. 2023. 6. 9.