일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Zookeeper
- spark streaming
- Schema Registry
- spark
- 컬럼 기반
- 레드시프트
- 데이터 엔지니어링
- Data Engineer
- 스파크 스트리밍
- AWS
- docker
- 에어플로우
- Redshift
- Data engineering
- airflow
- 데이터
- kafka rest api
- 스파크
- 카프카
- 델타레이크
- Parquet
- 데이터 엔지니어
- Data Warehouse
- kafka
- 카프카 구축
- MySQL
- s3
- 데이터 웨어하우스
- 대용량 처리
- delta lake
- Today
- Total
목록s3 (4)
데이터 엔지니어 기술 블로그
1. 개요 1.1 Delta의 트랜잭션 구현 방법 다중 버전 동시성 제어(MVCC) 테이블이 변경될 경우 즉시 교체하지 않고 데이터의 여러 복사본을 유지한다. Reader는 트랜잭션 로그를 사용하여 처리할 데이터의 파일을 선택적으로 가져온다. Writer는 새 데이터 파일이나 기존 파일의 업데이트된 복사본을 작성한다. 그 후 커밋하고 로그에 새 항목을 추가하여 테이블의 새로운 버전을 생성한다. 이 로그에는 테이블에 대한 메타데이터 변경 사항과 함께 논리적으로 추가 및 제거할 데이터 파일이 기록된다. vacuum 명령을 사용하여 추후에 지연 삭제할 수 있다. 2. Delta Table Specification 2.1 테이블 스냅샷 테이블에는 연속적으로 증가하는 정수를 사용한 로그가 있다. 특정 버전에서 테..
Delta Lake는 데이터 레이크 위에 Lakehouse 아키텍처를 구축할 수 있는 오픈소스 프로젝트이다. 데이터 레이크의 문제점과 데이터 웨어하우스의 문제점을 보완해줄 수 있다. 데이터 레이크는 아주 큰 데이터를 저장할 수 있지만 체계가 정확하게 잡히지 않으면 데이터 늪이 되기가 쉽다. S3와 같은 클라우드 스토리지는 가장 비용 효율적인 스토리지 시스템이다. 그러나 key-value로 구현이 되어있어서 ACID 트랜잭션과 같은 고성능을 구현하기는 어렵다. listing object와 같은 메타데이터 동작은 비싸며 일관성 보장은 제한적이다. 델타레이크는 이런 문제점을 보완할 수 있다. ACID 성질을 가질 수 있게 하여 트랜잭션을 구현하며, 테이블에서의 시간 여행을 가능하게 한다. upsert를 구현할..
개요 파이써 패키지를 만들어서 사용해야하는데, public pypi 에 올릴 수 없는 경우 private PyPI 서버를 만들어야한다. 서버를 띄워둘 때 새로운 EBS를 연결하지 않은 EC2나 EFS를 연결하지 않은 ECS 등의 상태가 유지되지 않을 수 있는 환경에서 띄우기엔 애매할 때 S3를 백엔드로 사용할 수 있다. 내용 S3를 백엔드로 사용하려면 pypicloud라는 라이브러리를 사용하면 된다. S3외에도 GCS, Blob Storage를 사용할 수 있다. 공식 페이지 https://pypi.org/project/pypicloud/ Getting Started https://pypicloud.readthedocs.io/en/latest/topics/getting_started.html#uploadi..
개요 카프카로 데이터를 이동시킬 때 Kafka Connect를 사용하면 쉽고 편하게 이동시키는데에 도움이 된다. 예를 들면 MySQL에서 Kafka를 거쳐 S3에 넣고 싶을 때 JDBC Source Connector를 사용하여 MySQL에서 Kafka에 넣고, Kafka에서 S3 Sink Connector를 사용하여 S3에 넣을 수 있다. 여기에서 source connector는 데이터 소스에서 카프카로 데이터를 넣는 커넥터이고, sink connector는 데이터를 카프카에서 목적지로 데이터를 이동하는 커넥터이다. 이번에는 S3 Sink Connector를 사용하여 Kafka Connect가 어떻게 동작하는지 이해해보려고 한다. 시작하기 환경 Docker ubuntu:20.04 kafka 2.8.0 K..