feat(cdc): app-level Cassandra+Neo4j change events to Kafka (->S3) on generate

This commit is contained in:
mo
2026-06-26 09:21:17 +00:00
parent f4cd33b784
commit be2bbcbd92
3 changed files with 103 additions and 1 deletions
@@ -9,6 +9,13 @@ import random
from datetime import datetime, timedelta
import uuid
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
try:
from cdc_emit import emit_changes
except Exception:
def emit_changes(*a, **k):
return 0
# Database connection details
DB_HOST = "10.0.21.51"
@@ -57,12 +64,25 @@ def main():
)
total_generated = 0
cdc_buffer = []
CDC_TOPIC = "cassandra_telemetry.cdc.device_metrics"
for i in range(TARGET_ROWS):
session.execute(insert_stmt, generate_fake_device_metric())
row = generate_fake_device_metric()
session.execute(insert_stmt, row)
total_generated += 1
cdc_buffer.append({
"device_id": row[0], "metric_ts": row[1], "metric_type": row[2],
"metric_value": row[3], "payload": row[4],
})
if len(cdc_buffer) >= 1000:
emit_changes(CDC_TOPIC, "telemetry", "device_metrics", cdc_buffer)
cdc_buffer = []
if total_generated % 1000 == 0:
print(f"Generated {total_generated} rows...")
if cdc_buffer:
emit_changes(CDC_TOPIC, "telemetry", "device_metrics", cdc_buffer)
session.shutdown()
cluster.shutdown()