Data Engineering/Kafka 4

[Linux/Kafka] Spark Streaming을 이용해 MySQL에 데이터를 실시간 적재해보자

Topic 1 Producer, Consumer 생성하기 -- 필요한 라이브러리 로드from kafka import KafkaProducerimport numpy as npfrom time import time, sleepimport osimport json - 평균이 0이고 표준 편차가 1인 정규 분포에서 하나의 샘플을 추출하여 temp 리스트에 저장하기temp = [np.random.normal(loc=0.0, scale=1.0, size=None)] - 정규 분포에서 무작위로 데이터를 생성하여 Kafka 클러스터로 전송하는 Producer 생성producer = KafkaProducer(bootstrap_servers='localhost:9092', value_serializer = lambda v..

[Linux/Kafka] Apache Kafka와 MySQL을 연동해보자

Kafka와 MySQL을 연동해 Kafka 토픽에 전송된 SQL 쿼리를 MySQL 데이터베이스에서 실행할 수 있다.Kafka의 Producer가 SQL 쿼리를 생성해 Kafka 토픽에 발행하고, Kafka의 Consumer가 이 쿼리를 읽어 MySQL 데이터베이스에서 실행하는 구조이다. Zookeeper, Kafka 서비스가 자동 실행되도록 배치 파일 만들기  Kafka와 MySQL 연동Kafka와 MySQL 연결하기 위해 필요한 라이브러리 로드from kafka import KafkaProducer, KafkaConsumerfrom kafka.admin import KafkaAdminClient, NewTopicimport jsonimport pymysql Producer 함수 생성topic = 'ka..

[Linux/Kafka] Apache Kafka를 설치하고 Producer/Consumer/Topic을 생성해보자

Apache Kafka 설치하기 (2.5.0 version - Scala 2.12)  - 파일을 다운로드 한 후 압축을 풀어준다.tar xvfz 파일_이름 mv 압축_푼_파일_이름 변경할_파일_이름 - Kafka의 JVM Heap Size를 설정해준다. - Kafka의 server.properties 파일을 수정해준다. (31번째 줄 주석 해제해주기)gedit /kafka/config/server.properties - zookeeper, kafka broker service를 실행한다.[ Zookeeper service 실행 ] [ Kafka Broker service 실행 ]  Kafka Topic 생성하기bin/kafka-topics.sh --create --bootstrap-server local..

[Linux/Kafka] Apache Kafka를 알아보자

Apache KafkaApache Kafka는 높은 처리량과 확장성을 제공하는 오픈 소스 분산 스트리밍 플랫폼이다.Kafka는 실시간 데이터 스트림을 처리하고 관리하는 데 사용되며 대규모 데이터 처리 및 이벤트 기반 아키텍처에서 중요한 역할을 한다.  Kafka 이전의 방식end - to - end 연결 방식-> 데이터 연동의 복잡성이 높았다.또한 데이터 파이프 라인 구조가 각기 다른 형태를 가졌다.-> 데이터 파이프라인이란 쉽게 말해 서비스 구축을 위한 플랫폼인데 구조가 각기 달라 확장 관점에서 어려움이 존재했다. Kafka는 플랫폼들을 연결하는 Interface이다 !Hardware 관점 : MiddleWare 역할Software 관점 : Interface 역할-> end - to - end 방식이 ..