일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Parquet
- spark
- 카프카
- s3
- 스파크 스트리밍
- 스파크
- delta lake
- 카프카 구축
- 데이터
- Data Engineer
- Zookeeper
- Data Warehouse
- 레드시프트
- 데이터 엔지니어
- 컬럼 기반
- MySQL
- kafka
- Redshift
- kafka rest api
- docker
- Schema Registry
- 데이터 엔지니어링
- 델타레이크
- airflow
- AWS
- spark streaming
- 대용량 처리
- 에어플로우
- Data engineering
- 데이터 웨어하우스
- Today
- Total
목록Data Warehouse (3)
데이터 엔지니어 기술 블로그
운영 시스템은 트랜잭션을 신속히 처리하는데 최적화되어있습니다. 데이터 웨어하우스는 신규 고객을 집계하고 월별 GMV를 비교하는 등의 요구사항을 처리할 수 있어야 합니다. 그러기 위해서는 운영 시스템과는 다른 구조가 필요하며 이를 다차원 모델링으로 해결합니다. 데이터 웨어하우스를 활용하는 사람들은 현업에 있는 다양한 직업을 가진 사람들입니다. 그래서 구축을 할 때는 기술보다 비즈니스 이슈를 중심으로 생각해야 합니다. 데이터 웨어하우스 구축을 위한 요구사항은 다음과 같습니다. 정보에 쉽게 접근 가능하도록 만들어야 한다. 의사결정을 위해 신뢰할 수 있는 토대가 되어야 하며 일관된 정보를 제공해야 한다. (데이터 신뢰성) 시스템 변화에 유연해야 한다. 정보를 적시에 제공해야 한다. (데이터 최신성) 현업에서 사..
1. 테이블 읽기 및 쓰기 1.1 테이블 생성하는 방법 spark.sql CREATE TABLE delta.`s3://bucket_name/foo/bar/table_name` ( id INT, firstName STRING, middleName STRING, lastName STRING, ) USING DELTA write df.write.format("delta").mode("overwrite").save("s3://bucket_name/foo/bar/table_name") 1.2 시간 여행 델타레이크에서는 timestamp와 version으로 시간 여행을 할 수 있다. 사용자의 실수로 테이블의 어떤 데이터를 삭제하나 업데이트 한 경우 시간 여행으로 과거의 테이블로 돌아가 다시 쓸 수 있다. df1 =..
Delta Lake는 데이터 레이크 위에 Lakehouse 아키텍처를 구축할 수 있는 오픈소스 프로젝트이다. 데이터 레이크의 문제점과 데이터 웨어하우스의 문제점을 보완해줄 수 있다. 데이터 레이크는 아주 큰 데이터를 저장할 수 있지만 체계가 정확하게 잡히지 않으면 데이터 늪이 되기가 쉽다. S3와 같은 클라우드 스토리지는 가장 비용 효율적인 스토리지 시스템이다. 그러나 key-value로 구현이 되어있어서 ACID 트랜잭션과 같은 고성능을 구현하기는 어렵다. listing object와 같은 메타데이터 동작은 비싸며 일관성 보장은 제한적이다. 델타레이크는 이런 문제점을 보완할 수 있다. ACID 성질을 가질 수 있게 하여 트랜잭션을 구현하며, 테이블에서의 시간 여행을 가능하게 한다. upsert를 구현할..