일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GCP
- 공분산
- spark udf
- gather_nd
- XAI
- youtube data
- chatGPT
- tensorflow text
- correlation
- hadoop
- 유튜브 API
- login crawling
- API
- GenericGBQException
- integrated gradient
- requests
- grad-cam
- flask
- API Gateway
- 상관관계
- session 유지
- Airflow
- top_k
- subdag
- UDF
- airflow subdag
- Counterfactual Explanations
- TensorFlow
- BigQuery
- Retry
- Today
- Total
목록Data Visualization & DataBase (17)
데이터과학 삼학년
HBase는 대규모 데이터를 처리하는 NoSQL 데이터베이스하지만 HBase는 SQL을 지원하지 않음아파치 피닉스(Apache Phoenix)는 HBase 위에서 SQL을 사용할 수 있도록 해주는 도구 1. 아파치 피닉스란?- HBase의 SQL 계층을 제공하는 쿼리 엔진- SQL 쿼리로 HBase 데이터를 관리하고 조회할 수 있도록 도와줌- JDBC 연결을 통해 기존 SQL 기반 애플리케이션에서 HBase를 쉽게 활용 가능- HBase의 분산 처리 성능을 그대로 유지하며 SQL로 데이터를 다룰 수 있음 2. 아파치 피닉스의 주요 특징- SQL 지원SQL을 통해 HBase 데이터를 직관적으로 쿼리하고 관리 가능- HBase 통합HBase 위에서 실행되어, 분산 아키텍처를 그대로 활용- JDBC 지원SQL..

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..