quixio/quix-streams

Python Streaming DataFrames for Kafka

해결하는 문제

Quix Streams는 Apache Kafka를 사용하여 실시간 데이터 파이프라인과 이벤트 기반 마이크로서비스를 구축하는 과정을 단순화합니다. 복잡한 서버 사이드 클러스터나 Java 래퍼가 필요 없으며, 순수한 Python으로 스트리밍 데이터에 대한 추출(Extract), 변환(Transform), 로드(Load) 작업(ETL)을 수행할 수 있습니다.

작동 방식

이 프레임워크는 두 가지 주요 구성 요소를 사용합니다. Application 객체는 Kafka 연결, 메시지 라이프사이클, 그리고 컨슈머 그룹을 통한 스케일링을 관리하며, StreamingDataFrame (SDF)는 들어오는 메시지를 처리하고 변환하기 위한 선언형 파이프라인입니다. SDF를 사용하면 Kafka 토픽을 통해 흐르는 데이터에 대해 변환, 필터링, 윈도우 처리 연산을 적용할 수 있습니다.

대상 사용자

Kafka 스트림 기반의 신뢰성 있고 확장 가능한 실시간 데이터 처리 시스템 및 AI/ML 제품을 구축해야 하는 데이터 엔지니어, Python 개발자, ML 엔지니어를 위한 것입니다.

주요 특징

  • 순수한 Python: Java 래퍼나 크로스 랭귀지 디버깅이 필요하지 않습니다.
  • 스트리밍 DataFrame API: 파이프라인을 구축하기 위한 표 형식 데이터 처리 접근 방식을 제공합니다.
  • 정확히 한 번 처리: Kafka 트랜잭션을 통해 보장되어 데이터 신뢰성이 확보됩니다.
  • 장애 내성 있는 상태 기반 연산: 자동 체크포인트 기능을 통해 복구 가능성을 높이는 상태 기반 처리를 지원합니다.
  • 광범위한 통합: JSON, Avro, Protobuf용 Serializers API와 사용자 정의 소스 및 싱크를 위한 전용 API를 포함합니다.
  • 스트리밍 조인 및 윈도우 처리: 그룹화 및 분기와 같은 복잡한 이벤트 처리 작업을 위한 내장 연산자가 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트