[Feature Request]: [Kafka/YAML] Turnkey Confluent Schema Registry Wire Format deserializer in ReadFromKafka
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- data-engineering, stream-processing
Hướng nghiên cứu
Start by reading the Python ReadFromKafka wrapper and the Java cross-language provider in standard_io.yaml, which the issue names as integration points. Check how those paths handle the existing raw bytes and JSON formats, then trace the Confluent wire format and Schema Registry requirements. Done means Avro and Protobuf records can be decoded from the schema ID header and exposed as Beam Schema Rows through the proposed YAML configuration.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
Consuming from Kafka topics serialized with Confluent Schema Registry (magic byte 0x00 + 4-byte schema ID) is a ubiquitous industry pattern.
Currently in Beam, consuming from Schema Registry requires writing custom Java deserializers or complex manual Python Avro decode steps. In Beam YAML, ReadFromKafka only natively supports raw bytes or JSON.
Proposed Architecture
Add first-class Schema Registry support directly in ReadFromKafka (both Python wrapper and Java cross-language provider in standard_io.yaml):
pipeline:
transforms:
- type: ReadFromKafka
config:
topic: orders
bootstrap_servers: "kafka:9092"
schema_registry: "http://schema-registry:8081"
format: avro # automatically resolves schema ID from wire format
Key Capabilities
- Wire Format Parsing: Parses Confluent wire format header (magic byte 0 + 4-byte Big-Endian schema ID).
- Schema Cache: Fetches and caches Avro/Protobuf schema definitions from Schema Registry by ID.
- Beam Schema Mapping: Automatically converts deserialized records to strongly-typed Beam Schema
Rowobjects.
- Ngôn ngữ chính
- Java
- Star
- 8.7k
- Fork
- 4.8k
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 371
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/beam
-
Release notes links wrongĐang mởawaiting triage bug P3
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 67/100
apache/beam#41197 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: [Python] WriteToJson silently rounds floats to 10 decimal placesCó thể đã có người làm @Abhi2939 đã nhận 2 ngày trước. Đang mởio P2 python yaml
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
apache/beam#41102 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
apache/beam#39624 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: PubsubIO used in batch incorrect batch cutoff sizeCó thể đã có người làm @1fanwang đã nhận 79 ngày trước. Đang mởbug io P3 pinned pubsub
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
apache/beam#28011 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
build P3 sub-task
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
spAnser/reacharound#38 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 89/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Type: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
MovingBlocks/Terasology#5415 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100