Tôi cần phải phân tích cú pháp tệp CSV lớn trong thời gian thực, trong khi đó là sửa đổi (được nối thêm) theo một quy trình khác. Bởi lớn, tôi có nghĩa là ~ 20 GB vào thời điểm này, và từ từ phát triển. Ứng dụng này chỉ cần phát hiện và báo cáo một số dị thường trong luồng dữ liệu, mà nó chỉ cần lưu trữ thông tin trạng thái nhỏ (không gian O(1)
).Phân tích cú pháp các tệp văn bản lớn, được sửa đổi khi đang bay
Tôi đã suy nghĩ về việc bỏ phiếu các thuộc tính của tệp (kích thước) sau mỗi vài giây, mở luồng chỉ đọc, tìm kiếm vị trí trước đó và tiếp tục phân tích nơi tôi dừng lại lần đầu tiên. Nhưng vì đây là tệp văn bản (CSV), tôi rõ ràng cần phải theo dõi các ký tự dòng mới khi tiếp tục bằng cách nào đó, để đảm bảo tôi luôn phân tích toàn bộ dòng.
Nếu tôi không nhầm, đây không phải là vấn đề cần thực hiện, nhưng tôi muốn biết nếu có một cách phổ biến/thư viện nào giải quyết được một số vấn đề này chưa?
Lưu ý: Tôi không cần trình phân tích cú pháp CSV. Tôi cần thông tin về thư viện giúp đơn giản hóa các dòng đọc từ một tệp đang được sửa đổi khi đang di chuyển.
Có thể ngừng xử lý csv không? Nếu có, tôi đề nghị bạn chuyển nó sang RDBMS. – Oybek
@Oybek: bạn có thể làm rõ điều đó một chút không? Quá trình đó là phụ thêm vào tập tin được liên tục chạy, và tôi cần phải phân tích các dòng dữ liệu bằng đường liên tục (với vài giây chậm trễ). – Groo
Tôi cho rằng bạn không có quyền kiểm soát quá trình phát ra tệp? –