일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 레드시프트
- docker
- 데이터
- 델타레이크
- 카프카 구축
- 카프카
- 데이터 엔지니어링
- spark
- spark streaming
- 에어플로우
- Data Warehouse
- delta lake
- MySQL
- airflow
- Schema Registry
- 대용량 처리
- 컬럼 기반
- Zookeeper
- AWS
- 스파크 스트리밍
- kafka
- s3
- Data engineering
- 스파크
- Data Engineer
- 데이터 웨어하우스
- Parquet
- Redshift
- kafka rest api
- 데이터 엔지니어
- Today
- Total
목록데이터 엔지니어 (6)
데이터 엔지니어 기술 블로그
개요 View는 실제 테이블은 아니고 참조를 할 때마다 쿼리를 보내 테이블처럼 보여주는 기능이며 이 기능을 Redshift에서도 사용할 수 있다. 시작하기 1. View 생성 문법 CREATE [ OR REPLACE ] VIEW name [ ( column_name [, ...] ) ] AS query [ WITH NO SCHEMA BINDING ] OR REPLACE: 같은 이름의 뷰가 이미 있을 경우 쿼리를 교체한다. name: 뷰 이름 column_name: 뷰에서 사용할 컬럼명, 입력하지 않으면 쿼리를 보고 자동으로 생성한다. query: 쿼리 WITH NO SCHEMA BINDING: 뷰가 데이터베이스 객체에 바인딩 되지 않도록 하여 종속성을 없앤다. Late Binding 쿼리될 때까지 데이터..
신뢰성 있는 데이터 전달 카프카는 웹 클릭 로그 수집, 신용카드 트랜잭션 등 다양한 방면에서 사용된다. 카프카는 신뢰성과 속도 등 사이에서 구성으로 유연하게 조절할 수 있다. 신뢰성 보장 1. 카프카는 메시지 순서를 보장한다. 2. 카프카에 메시지를 쓸 때 리플리카에 메시지를 복제하는 작업의 구성으로 신뢰성을 조절할 수 있다. 만약 acks 를 높게 두고 요청에 실패했다면 프로듀서에서 다시 재시도 할 수 있다. - acks = 0 메시지를 보내고 확인을 하지 않는다. - acks = 1 리더가 메시지를 썼는지 확인한다. - acks = all 모든 동기화 리플리카에 복제되었는지 확인한다. 3. 최소한 하나의 리플리카가 살아있다면 메시지는 유실되지 않는다. 4. 컨슈머는 모든 리플리카에 커밋된 메시지만 읽..
About 카프카의 내부를 다 이해할 필요는 없지만 어느정도 알아두면 좀 더 최적화하거나 문제가 발생했을 때 해결하는데 도움이 된다. 내부 매커니즘 클러스터와 주키퍼 컨트롤러 브로커 중 하나이고 리더를 선출해야하는 역할을 가지고 있다. 클러스터를 시작할 때의 첫 번째 브로커가 컨트롤러로 임명된다. 모든 브로커는 시작될 때 주키퍼에서 /controller 노드가 없으면 생성하려고 한다. 컨트롤러 브로커에 문제가 생기면 카프카의 Watch가 브로커들에게 컨트롤러가 사라졌다고 알려준다. 그러면 브로커들은 /controller 노드를 생성하려고 시도한다. 첫 번째로 생성한 노드가 컨트롤러가 되며 새로운 세대 번호를 받게 된다. 브로커들은 새로운 세대 번호를 알게 되고, 이전 세대 번호의 브로커에서 명령이 오면 ..
About 이전에 카프카에서 Producer로 메시지를 보냈는데 메시지를 소비하기 위해 Consumer를 만들어보려고 한다. 컨슈머 그룹(Consumer Group) 프로듀서가 생산한 메시지를 하나의 컨슈머가 따라갈 수가 없다면 여러개의 컨슈머를 두어야 한다. 카프카 컨슈머는 컨슈머 그룹에 속한다. 하나의 컨슈머 그룹에서 파티션이 4개일 때 컨슈머가 2개라면 2개씩 나눠가지고, 컨슈머가 4개라면 파티션을 1개씩 나눠가진다. 만약 5개라면 컨슈머 하나는 메시지를 받을 수 없다. 컨슈머 그룹 하나에서는 서로 다른 메시지를 수신하여 처리를 한다. 실시간 처리를 하는 곳과 메시지의 데이터를 저장하는 곳을 따로 두고 싶다면 컨슈머 그룹은 두개가 필요하다. 리밸런싱(rebalancing) 토픽의 파티션 1개의 소유..
About 카프카를 GUI로 보기 위해서 kafdrop 이라는 라이브러리를 사용하려고 한다. docker로 미리 만들어진 이미지가 있어서 정말 간단하게 사용할 수 있다. Tutorial & Example 1. 작업할 폴더를 생성한다. 2. docker-compose.yml 파일을 생성하고 아래처럼 입력한다. - KAFKA_BROKERCONNECT에 기존에 생성했던 카프카 브로커를 입력해주었다. version: "3.8" services: kafdrop: image: obsidiandynamics/kafdrop restart: "always" ports: - "9000:9000" environment: KAFKA_BROKERCONNECT: "pipeline-kafka-1:9092,pipeline-kafka..
스노우플레이크(snowflake) 클라우드 컴퓨팅 기반 데이터 웨어하우징 회사이다. 2012년 7월에 설립되었고 2014년 10월에 공개적으로 출시되었다. 서비스로서의 데이터 웨어하우스(SaaS)를 제공해주며 복잡하게 구성된 데이터 웨어하우스를 완전관리 해준다. 빠르고 사용하기 쉽고 유연한 데이터 스토리지, 처리 및 분석 솔루션을 제공해준다. snowflake 소개 AWS Snowflake AWS에서도 스노우플레이크를 제공해준다. 일본 리전은 2018년에 생겻다. aws.amazon.com/ko/financial-services/partner-solutions/snowflake-data-warehouse/ Snowflake Data Warehouse on Amazon Web Services (AWS) S..