일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 컴퓨터 네트워크
- redshift
- airflow
- Docker
- 데브코스
- 종류
- PYTHON
- 자료구조
- 정리
- TCP
- 데이터베이스
- linux
- 데이터 웨어하우스
- 가상환경
- 운영체제
- AWS
- 데이터 파이프라인
- 데이터엔지니어링
- sql
- dockerfile
- 데이터 엔지니어링
- http
- 컴퓨터네트워크
- 파이썬
- S3
- TIL
- Go
- HADOOP
- airflow.cfg
- Django
- Today
- Total
목록Data Engineering (95)
홍카나의 공부방
REST API에서 데이터를 추출하는 것은 흔한 방법이다. 다음의 간단한 패턴과 파이썬 코드 예제로 살펴본다. 패턴 API에 HTTP GET Request를 보낸다. JSON Format일 가능성이 높은 Response를 받는다. 응답을 파싱하고 추후 스토리지나 데이터베이스에 로드할 수 있는 CSV 파일로 변환한다. * 데이터를 데이터 웨어하우스에 적재하기 위해 JSON 형식으로 저장할 수도 있지만, 이 글에서는 CSV 파일을 이용하겠다. 예제 이 글에서는 Open Notify라는 API에 연결하겠다. 그중에서도 국제우주정거장(ISS)의 현 위치를 return 하는 API를 이용하겠다. http://open-notify.org/Open-Notify-API/ISS-Location-Now/ JSON 데이터는..
JOIN이란? 여러 테이블의 공통 필드를 가지고 병합하는 데 사용하는 명령어다. 여러 테이블로 분산되어 있던 정보를 통합하는 목적으로 사용한다. 조인 방식에 따라서 어떤 레코드들이 선택되는지, 어떤 필드들이 채워지는지 달라진다. 아래 도식화된 JOIN 종류를 보면 쉽게 이해할 수 있다. 일반적으로 외래키를 조인 속성으로 사용한다. 연결하려는 테이블의 조인 속성 이름은 달라도 되나, 데이터 타입(도메인)은 일치해야 한다. 같은 이름의 속성이 서로 다른 테이블에 존재할 수 있기 때문에 속성 이름 앞에 해당 속성이 소속된 테이블의 이름을 표시한다. CROSS JOIN INNER, LEFT, RIGHT, FULL OUTER 말고도 CROSS JOIN이란 방식도 존재한다. 이는 카티션 프로덕트(Cartesian ..
GROUP BY와 Aggregate Function 테이블의 레코드를 그룹으로 묶어 그룹별로 다양한 정보를 계산할 수 있다. (1) 그룹핑할 필드를 하나 이상의 필드로 먼저 결정하고 (2) COUNT, SUM, AVG 등의 Aggregate 함수를 이용하여 그룹별로 연산을 진행한다. GROUP BY 1은 이름에 관계없이 첫 번째 컬럼으로 그룹화하는 것을 의미한다. (ORDER BY도 마찬가지) 아래 코드 같은 경우, SELECT 절의 첫 번째 컬럼인 mon을 기준으로 그룹핑, 정렬(오름차순)을 하겠다는 뜻. SELECT LEFT(ts, 7) AS mon, COUNT(1) AS session_count FROM raw_data.session_timestamp GROUP BY 1 ORDER BY 1; SQL..
SQL Tips -- 다수의 SQL 문을 실행한다면 세미콜론으로 분리 필요 SELECT * FROM Orders; SELECT id FROM Items; -- 테이블/필드이름의 명명규칙을 정하는 것이 중요 -- 단수형 vs 복수형 User vs. Users -- _ vs. CamelCasing user_session_channel UserSessionChannel DROP TABLE table_name; -- 테이블 삭제 DELETE FROM; -- 조건에 맞는 레코드만 지움 ALTER TABLE table_name ADD COLUMN field_name field_type; -- 새 필드 이름/타입 추가 ALTER TABLE table_name RENAME old_field_name to new_fie..