일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준 #baekjoon # 2563
- Virtual Box 7.0.6
- 네이버 부스트 코스
- 보기 편하라고 만든
- 부스트캠프
- Ubuntu 20.04
- id # tr # 환경변수
- 운영체제론
- 후기
- 네이버
- 웹/모바일
- 8기
- Today
- Total
목록데이터 엔지니어링 (28)
Miner
Spark 데이터 시스템 사용 예들 기본적으로 대용량 데이터 배치 처리, 스트림 처리, 모델 빌딩 1) 대용량 비구조화된 데이터 처리하기 (ETL / ELT) 2) ML 모델에 사용되는 대용량 피쳐 처리 (배치 / 스트림) 3) Spark ML을 이용한 대용량 훈련 데이터 모델 학습 예시 1) 대용량 비구조화된 데이터 처리하기 (Hive의 대체 기술) ETL 혹은 ELT 예시 2) ML 모델에 사용되는 대용량 피쳐 처리
Hadoop = 1세대 빅데이터 처리 기술 Spark = 2세대 빅데이터 처리 기술 Yarn 등을 분산환경 / 컨테이너 위에서 가능 / Scala 로 작성됨 Spark 3.0 구성 Spark Core, SQL, ML, MLib, Streaming, GraphX Spark vs MapReduce Spark은 기본적으로 메모리 기반 메모리가 부족해지면 디스크 사용 MapReduce는 디스크 기반 MapReduce는 하둡(Yarn)위에서만 동작 Spark은 하둡(Yarn)이외에도 다른 분산 컴퓨팅 환경 지원(K8s, Mesos) MapReduce는 키와 밸류 기반 데이터 구조만 지원 Spark은 판다스 데이터프레임과 개념적으로 동일한 데이터 구조 지원 Spark은 다양한 방식의 컴퓨팅을 지원 배치 데이터 처리..
사용할 데이터 웨어하우스 Redshift dc2.large 2 CPU, 15GB memory, 160GB SSD Host : learnde.cduaw970ssvt.ap-northeast-2.redshift.amazonaws.com Port : 5439 Database : dev ID 와 PW
데이터 파이프라인 만들 때 유의점 이상 / 환상 내가 만든 데이터 파이프라인은 문제 없이 동작하고 관리하는 것은 어렵지 않을 것이다. 현실 / 실상 데이터 파이프라인은 많은 이유로 실패하게 된다 버그 / 데이터 소스상의 이유 / 데이터 파이프라인들간의 의존도에 이해도 부족 / 데이터 파이프라인의 수가 늘어나면 유지보수 비용이 기하급수적으로 늘어남 / 데이터 소스간의 의존도가 생기면서 이는 더 복잡해짐. 만일 마케팅 채녈 정보가 업데이트가 안된다면 마케팅 관련 다른 모든 정보들이 갱신되지 않음 Best Practices (1) 가능하면 데이터가 작을 경우 매번 통채로 복사해서 테이블을 만들기 (Full Refresh) Incremental update만이 가능하다면, 대상 데이터소스가 갖춰야할 몇 가지 조..
ETL ETL : Extract, Transform, and Load Data Pipeline, ETL, Data Workflow, DAG Called DAG(Directed Acyclic Graph) in Airflow ETL vs ELT ETL : 데이터를 데이터 웨어하우스 외부에서 내부로 가져오는 프로세스 보통 데이터 엔지니어들이 수행 ELT : 데이터 웨어하우스 내부 데이터를 조작해서 (보통은 추상화되고 요약된) 새로운 데이터를 만드는 프로세스 보통 데이터 분석가들이 많이 수행 이 경우 데이터 레이크 위에서 이런 작업들이 벌어지기도 함 이런 프로세스 전용 기술들이 있으며 dbt가 가장 유명 : Analytics Engineering dbt : Data Build Tool Data Lake vs D..
하둡 설치 하둡 3.0을 의사분산 모드로 리눅스 서버에 설치 의사분산 모드 : 1개 resource manager, 1개 Node manager 의사분산 모드는 Hadoop 관련 프로세스들을 개별 JVM으로 실행 AWS 우분투 EC2 t2.medium 인스턴스 사용 자바 8이 필요. 우분투 설치 문서 데모
맵리듀스 프로그래밍 목표가 큰 데이터를 처리하는데 있다. 그렇다보니까 데이터셋의 포맷도 하나로 단순화 시켰다. 데이터 셋은 Key, Value의 집합이며 변경 불가(immutable) 데이터 조작은 map과 reduce 두 개의 오퍼레이션으로만 가능 Reduce는 Map의 출력 중에 같은 키를 갖는 출력을 모아 처리해서 새로운 key-value 페어를 만들어 주는 것 이 두 오퍼레이션은 항상 하나의 쌍으로 연속으로 실행됨 이 두 오퍼레이션의 코드를 개발자가 채워야 함 맵리듀스 시스템이 Map의 결과를 Reduce 단으로 모아준다. 이 단계를 보통 셔플링이라고 부르며, 네트웍단을 통한 데이터 이동이 생긴다. 일반적으로 맵리듀스 한 번으로 원하는 결과를 얻지 못하고 몇 번을 거쳐서 원하는 결과를 낸다. 맵과..