일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Retry
- gather_nd
- grad-cam
- hadoop
- correlation
- Counterfactual Explanations
- subdag
- chatGPT
- API
- airflow subdag
- 유튜브 API
- 공분산
- top_k
- UDF
- TensorFlow
- 상관관계
- flask
- requests
- session 유지
- API Gateway
- GenericGBQException
- BigQuery
- tensorflow text
- spark udf
- youtube data
- XAI
- GCP
- login crawling
- Airflow
- integrated gradient
- Today
- Total
목록Data Visualization & DataBase (16)
데이터과학 삼학년
1. JOIN 방식의 개요임팔라의 JOIN 방식: 두 가지 방식 제공BROADCAST JOIN: 작은 테이블을 모든 노드에 전송하여 메모리상에서 JOIN 수행PARTITIONED JOIN: 큰 테이블 간 결합 시 파티셔닝을 통한 분산 처리 수행BROADCAST JOIN정의: JOIN 대상 중 작은 테이블을 쿼리 참여 노드에 모두 전송하여 JOIN 연산 수행적합한 사용 시기: 작은 테이블과 큰 테이블의 JOIN 연산 시 유리특징: 작은 테이블이 전체 노드에 복제되므로 빠른 처리 가능. 큰 테이블 broadcast 시 메모리 과부하 발생 가능PARTITIONED JOIN정의: JOIN 연산에 참여하는 두 테이블을 키(key) 기준으로 파티셔닝 후 각 파티션에서 JOIN 수행적합한 사용 시기: 큰 테이블 간 ..
Copy On Write - 쓸 때 데이터를 병합 → 쓰기 성능은 떨어지지만 읽기 성능은 더 높음 - 변경데이터에 대해서 batch로 처리 - 데이터를 합쳐서 하나의 parquet 파일을 생성 >> 새로운 데이터가 유입될때 기존 데이터를 copy하고 새로운 데이터를 추가하여 새로운 version의 데이터를 만듦 Merge On Read - 읽기 중에 병합을 수행하여 읽기 성능을 확인 → 데이터를 적시에 쓰기 때문에,거의 실시간 데이터 분석 기능을 제공할 수 있음 - 변경데이터에 대해서 실시간으로 처리 - 변경분 데이터에 대해서는 avro로 저장 - 1분단위 commit - 5분단위 data compaction 을 하고 해당파일이 base file(parquet)로 됨 - 사용자에게 ReadOptimize..
데이터 파티셔닝 - 데이터의 사이즈가 큰 테이블을 두 개 이상의 작은 테이블로 나누는 것 -> 파티셔닝 - 쿼리가 스캔할 데이터의 범위를 좁혀서 응답시간을 빠르게 하기 위한 목적 - 수평적 파티셔닝 -> 기간에 대해 놓는것 일반적?! - 수직적 파티셔닝 데이터 샤딩 - 대량의 데이터를 여러 물리적인 위치 또는 데이텁 베이스 서버에 저장하는 과정 또는 방법 - scale-up -> scale-out으로 가면서 데이터 베이스의 일관된 기능을 사용할 수 있도록 하는 기술 - 데이터 베이스 서버가 샤드라는 데이터 조각을 가지고 있는 개념에서 착안하여 나온 용어 참고 https://fastcampus.co.kr/courses/209597 커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스 성인 교육 서비..
ODS(Operational Data Store) - ODS는 데이터 웨어하우스(DW) 아키텍처의 일부로 사용되는 중간 단계 저장소 - ODS는 일반적으로 트랜잭션 처리 시스템으로부터 데이터를 추출하고, 데이터 품질 검증, 데이터 변환 및 통합 작업을 수행 - ODS는 비즈니스 규칙 및 프로세스에 따라 데이터를 가공하며, 다른 시스템과의 데이터 통합을 용이하게 함 - ODS는 실시간 데이터 갱신을 지원하고, 다른 시스템과의 인터페이스를 통해 데이터를 주고받을 수 있음 팩트 테이블(Fact Table) - 팩트 테이블은 데이터 웨어하우스(DW)에서 중심이 되는 테이블로, 비즈니스 프로세스에서 발생한 사실과 이벤트에 대한 수치 데이터를 포함 - 팩트 테이블은 주로 측정 항목(예: 매출액, 주문량, 재고량)..
WITH 문 -복잡한 쿼리를 sub-쿼리의 형태로 구조화하고 재사용하기에 용이한 구문 - with 문을 쓸 때 쿼리의 결과르 temp라는 임시 테이블에 쌓아놓기 때문에 재사용성이 있음 (RDMS, HIVE) WITH temp_a AS ( SELECT * FROM dataset.tableA ), temp_b AS ( SELECT * FROM dataset.tableB ) SELECT * FROM temp_b LEFT JOIN temp_a USING(id) - 너무 많은 서브쿼리 구성은 temp 테이블(with 전용) 의 메모리 over할 수 있기 때문에 지양해야함 - 이를 보완하기 위해 Crate temp Table을 사용함 CREATE TEMPORARY TABLE tmp2 AS SELECT c2, c3,..
overwrite - 말그대로 덮어쓰는 행위, 즉 기존 테이블을 대체하는 replace와 같음 - truncated라고 불릴 수 있음 -> 기존 테이블을 비우고, 새로운 것으로 채워넣는 행위 upsert - update & insert를 의미함 - upsert하려는 테이블에 이미 동일 유니크 키의 값이 있다면, 새로운 값으로 update를 하고, 없다면 insert를 하는 개념
여러 테이블이 있을때 조인 condition 조건으로 or를 쓰고 싶을 때가 있다. join 조건에 OR을 넣으면 union과 같이 데이터의 갯수가 늘어날수 밖에 없다는 것 명심하자!!!!!! 근데, 웬만하면 join 컨디션에 OR 쓰지 말자. 이유는 SQL서버의 최적화가 제대로 작동하지 않는다고 한다. join은 HASH join 이나 MERGE join에 최적화되지 않는다. 즉, join의 최적화는 인덱스 매칭으로 이루어지는데 조건절에 OR조건이 포함되면 인덱스를 타지못해 성능이 현저히 떨어진다. 만약 join 컨디션에 OR을 넣은 아래와 같은 쿼리를 날리려고 한다면, SELECT mt.ID, mt.ParentID, ot.MasterID FROM dbo.MainTable AS mt INNER JOIN..
데이터를 다루는 부서에 가면 데이터 웨어하우스, 데이터 레이크, 데이터 마트, 스키마, 팩트 테이블, 디멘션 테이블 등 뭔가 같은듯 다른 여러 용어들을 사용한다. 이런 데이터 설계 디자인에 대한 부분을 배웠긴 했지만, 다 잊은 상태에서 실무에서 통용되는 용어들이 오고 가면 더욱 혼란스러워지고...그럴수록 자괴감만...ㅠㅠ 아무튼 오늘은 Fact Table, Dimension Table을 정리해 본다. Fact Table - 한국말로 사실 테이블? --> 즉 정량적인 실제값들이 들어오는 테이블이라고 생각해 볼 수도 있음 - 간단하게 여러 테이블들의 primary keys를 가지고 있는 테이블이라고 생각해보자 - 상점명/위치/상품명 등 뭔가 중요한 정보들을 column으로 가지고 있지만 너무 세부적인 정보는..