Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Nhập môn Dữ liệu lớn
Lab 04

Lab 04: Incremental Code Property Graph Streaming Pipeline

Trường Đại học Khoa học Tự nhiên, ĐHQG-HCM

Báo cáo này trình bày pipeline streaming tăng dần để trích xuất Code Property Graph (CPG) từ repository Python, publish event qua Kafka, rồi ingest vào Neo4j và MongoDB theo hai nhánh xử lý độc lập.

1Nhóm thực hiện

MSSVHọ và tênĐóng góp
23120318Trương Quang Phát100%
23120329Châu Huỳnh Phúc100%
23120334Huỳnh Tấn Phước100%

2Mục tiêu

Lab 04 tập trung vào một pipeline dữ liệu lớn có tính incremental:

3Kiến trúc overview

Sơ đồ chi tiết hơn nằm ở chương Sơ đồ kiến trúc. Các chương Task 1-6 trình bày runtime evidence cho discovery, parser, Kafka, Neo4j graph ingestion, Spark/MongoDB metadata ingestion và modified-file replay.

4Repository thực nghiệm

Hạng mụcGiá trị
Source repositoryhuggingface/transformers-pr-agent
Source commit458c957fa1e8851825cd799f5d030876f0644194
Raw Python discovery records4.496
Eligible parser inputs2.963

Các số liệu discovery được tạo từ repository root. Eligible parser inputs là tập record được Parser Service sử dụng sau khi áp dụng rule loại tests, setup/build files và generated files.

5Các chương

ChươngNội dung
Sơ đồ kiến trúcTổng quan pipeline, event streams và incremental replay
Task 1Clone repository, discovery file Python và manifest
Task 2Parser Service, stable IDs và incremental state
Task 3Kafka topics, routing, schema và parser error stream
Task 4Kafka Connect -> Neo4j graph ingestion
Task 5Spark Structured Streaming -> MongoDB metadata
Task 6Modified-file replay verification

6Kết quả nổi bật

7Cách đọc báo cáo

Nên đọc chương kiến trúc trước để nắm luồng tổng thể, sau đó đi theo Task 1 đến Task 6. Các notebook chứa executed cells và cached outputs; những smoke run trong notebook được dùng để tạo evidence gọn và có thể tái hiện, không được diễn giải thành full Kafka publish nếu notebook không chạy full mode.

8Liên kết

GitHub repository: Hutaph/lab04-cpg-streaming