스타트업 데이터플로우 리뷰
- AIRFLOW AMZON EC2 설치
- 데이터웨어하우스 REDSHIFT 사용
- 대시보드 : 구글 LOOKER (에어비앤비가 만든 SUPERSET이라는 오픈소스 대시보드로 많이 사용)
- POSGRESQL에 있는 데이터, 데이터웨어하우스로 옮기기
- APP 내 AMPLITUDE 설치(웹,앱 내 사용자가 어떤 데이터 클릭했고~, 어떤 버튼 클릭했고 등)
- 여기서 EVENT STREAM, CLICK STREAM 쭉 따서 저장했다.
- PAYMENTS로는 STRIP이라는 서비스
- 위 정보들을 ELT
- 정보들은 30분에 한번씩 SINK
- SUMMARY TABLE들만 대시보드와 데이터분석에 사용 : LOOKER 사용
- 요즘은 DBT로 SUMMARY TABLE에 적용해서 진행
데이터 관련 팁
- 관계형 데이터베이스는 PRIMARY KEY를 보장한다
- 하지만 데이터웨어하우스의 대표 격인 REDSHIFT, BIG QUERY, SNOWFLAKE는 전부 PRIMARY KEY 보장하지 않는다.
- 요즘은 MAPREDUCE X, SPARK, SQL 사용
- 생산성이 떨어지다보니, MAPREDUCE 위에 SQL을 만들었는데 이게 HIVE, PRESTO다
- 대부분 구조화 데이터에는 SQL을 사용하는게 좋다
- 더 많은 팀원이 이해할 수 있고, 최종적으로 게산하고 싶은게 명확히 보인다.
- PYTHON으로 하면 절차를 이해해야하지만, SQL은 declarative 언어로 무엇을 하고자하는지 한번에 뚜렷히 보인다.
- 비구조화된 데이터를 다뤄야한다?
- SPARK, HADOOP 쓴다 -> 비구조화된 데이터를 구조화된 데이터로 바꾸고 사용한다.
- SPARK에서 USER DEFINED FUNCTION 만들어서 쓴다.
현업 데이터 처리 중
- 항상 데이터를 믿을 수 있는지 의심
- 실제 레코드를 몇개 살펴보는 것만한 것이 없다. 항상 의심해야한다.
- 데이터 품질은 항상 의심해야한다.
- 중복 레코드
- 최근 데이터 존재 여부 확인(FRESHNESS)
- PRIMARY KEY UNIQUNESS 체크
- NULL 값 체크
- 위 체크는 UNIT TEST 형태로 코딩해서 확인 가능(DBT에선 이걸 쉽게 체크하도록 기능 제공)
- 사내에서 어느 시점이 되면 너무나 많은 테이블들이 존재하게됨
- 회사 성장과 관련
- 중요 테이블, 메타 데이터 관리 중요해짐
- DATA DISCOVERY 문제
- 무슨 테이블에 원하고 신뢰할 수 있는 정보가 있는지?
- 테이블에 대해 질문하고 싶은데, 누구에게 질문해야하는지?
- 이를 해결하기 위한 오픈소스, 서비스 등장
- DATAHUB(LINKDIN), AMUNDSEN(LYFT)..
- SELECT STAR, DATAFRAME, ...
SQL
- DDL
- DML
- GROUP BY, ORDER BY
- WINDOW FUNCTION
- 고급 SQL 등
'데이터 엔지니어링 > 실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트' 카테고리의 다른 글
SQL 꿀팁(IS TRUE, NULLIF, COALESCE) (0) | 2023.04.01 |
---|---|
SQL CASE WHEN (0) | 2023.04.01 |
REDSHIFT(AWS) (0) | 2023.03.27 |
데이터엔지니어, 데이터웨어하우스 (0) | 2023.03.27 |
데이터 팀의 역할 (0) | 2023.03.27 |