Bỏ qua

Mã lỗi Audit

Khi chạy quy tắc động (filter_matrix), mỗi dòng Trash ghi lại quy tắc nào khiến nó bị loại.

audit_error_code, UInt64, nullable

Bit thứ i bật khi quy tắc i (đánh số từ 0) bị vi phạm:

$$\text{audit_error_code} = \sum_{i \in \text{vi phạm},\, i < 64} 2^i$$

Ví dụ: mã 0b101 (=5) nghĩa là quy tắc 0 và 2 fail; quy tắc 1 đạt.

Chỉ 64 quy tắc đầu nằm gọn trong UInt64

Cột này lưu khối 0 của bitmask. Khi dùng hơn 64 quy tắc, vi phạm của quy tắc ≥ 64 không phản ánh ở cột này.

audit_violated_rules, List<UInt32>, nullable

Chỉ được thêm vào schema Trash khi số quy tắc > 64. Mỗi dòng chứa danh sách đầy đủ các chỉ số quy tắc vi phạm qua mọi khối, ví dụ [0, 2, 71].

Kiểm toán theo ngưỡng tĩnh

Đường tắt tĩnh (process_batch, process_file, process_and_write_lake, preview_sample) dùng ba cờ bit cố định thay thế:

Cờ Bit Điều kiện
ERR_INVALID_PASSENGER 1<<0 passenger_count null hoặc ngoài [min_passenger, max_passenger]
ERR_INVALID_FARE 1<<1 fare_amount null hoặc thấp hơn min_fare
ERR_INVALID_SPEED 1<<2 vi phạm giá và trip_distance > 0 (bất thường distance/fare)

Mã được tính như tổng có trọng số vector hóa (p*1 + f*2 + s*4) và lưu dưới dạng UInt64 không null trong đầu ra Trash chế độ tĩnh. Cột thiếu dữ liệu đóng góp không có vi phạm.

Schema bảng Clean

Không đổi, bảng Clean luôn giữ nguyên schema gốc, không thêm cột.