일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터레이크
- Django
- Serializer
- 웹 크롤링
- truncate
- AWS
- redshift
- SQL
- dag
- 데이터파이프라인
- yarn
- Kafka
- ELT
- 데이터마트
- docker-compose
- 웹 스크래핑
- snowflake
- 데이터 웨어하우스
- selenium
- Django Rest Framework(DRF)
- ETL
- airflow
- 컨테이너 삭제
- spark
- docker hub
- 알고리즘
- docker
- airflow.cfg
- Hive
- dag 작성
- Today
- Total
목록Kafka (4)
개발 기록장

AWS S3 스토리지로 데이터를 적재할 때의 문제점S3는 서비스 DB로 적합하지 않음지하철 데이터는 15초의 주기로 생성되고, 이를 반영해 대시보드에서도 실시간 성을 유지해야 한다. 그러나 S3에 적재하게 되면, Kafka Topic으로부터 데이터를 저장하는 것뿐만 아니라 데이터를 대시보드에서 출력하는 데에도 시간이 오래 걸린다. 또 실시간 지하철 정보 데이터는 축적되어 저장할 필요가 없기 때문에 용량이 커다란 스토리지가 필요하지 않다.ELT의 필요성API로부터 받아온 데이터에는 대시보드 시각화에 필요 없는 정보와 보기 편하도록 변환해야 하는 값들도 존재한다. 기존에는 이 값들을 태블로 대시보드 시각화 과정에서 정리하려 했으나, 태블로에서 이 값들을 처리하는 과정에서도 시간이 오래 걸린다.(실시간 성을 ..

기존에는 Kafka에서 Producer.py와 Consumer.py를 이용하여 데이터를 처리했다. 이 방식은 간단한 데이터를 처리할 경우에는 직관적으로 빠르게 코드를 작성하여 처리할 수 있다는 장점이 있지만, 확장성/ 모니터링의 측면에서는 적합하지 않다는 단점이 있었다.그래서 우리는 Kafka의 Connector의 사용을 고려하기 시작했다. 우리가 프로젝트에서 받아와야할 데이터는 서울 열린데이터 광장에서 지하철 데이터를 실시간으로 받아와야하고, API의 호출 횟수 제한이 있으므로 모니터링이 굉장히 중요한 부분이었다. 또 커넥터를 사용한다면 변경 사항이 있을 때, 따로 코드의 작성 없이 Kafka 상에서 커넥터 설정만을 수정해 사용할 수 있으므로 간편하다고 생각했다.Kafka ConnectorKafka C..

상황: 실시간 지하철 데이터를 Kafka를 이용하여 처리해아함먼저 강의에서 다루었던 데이터 전달 방식인 Producer.py와 Consumer.py를 작성하여 Kafka 환경을 Test했다.데이터는 서울 열린 데이터 광장의 노선별 실시간 지하철 데이터를 이용: https://data.seoul.go.kr/dataList/OA-12601/A/1/datasetView.doProducer.py: Topic을 생성하고 데이터를 Topic으로 전송한다.노선별 지하철 정보를 받기위해 subway 리스트를 만들어 반복문을 돌려 API 요청을 넣었음Consumer.py에서 노선별 지하철 정보 저장을 위해, 실시간 지하철 데이터와 함께 지하철 노선명도 함께 Topic을 통해 전달함생성된 Topic 이름: subway_r..

Kafka, Kafka 아키텍처, 중요 개념, Kafka Python 프로그래밍Kafka 소개Kafka란?실시간 데이터를 처리하기 위해 설계된 오픈소스 분산 스트리밍 플랫폼데이터 재생이 가능한 분산 커밋 로그(Distributed Commit Log)Scalability와 Fault Tolerance를 제공하는 Publish-Subscription 메시징 시스템Producer-ConsumerHigh Throughput과 Low Latency 실시간 데이터 처리에 맞게 구현됨분산 아키텍처를 따르므로 Scale Out 형태로 스케일 가능서버 추가를 통해 Scalability 달성(서버 == Broker)정해진 보유기간(retention period)동안 메시지 저장기존 메시징 시스템 및 데이터베이스와의 비교..