Ai đó có thể vui lòng đề xuất một công cụ, khung hoặc dịch vụ để thực hiện tác vụ bên dưới nhanh hơn không.
Đầu vào : Đầu vào của dịch vụ là tệp CSV bao gồm số nhận dạng và một số cột hình ảnh với hơn một triệu hàng.
Khách quan: Để kiểm tra xem có bất kỳ cột hình ảnh nào của hàng đáp ứng độ phân giải tối thiểu hay không và tạo một cột boolean mới cho mỗi hàng theo kết quả.
Đúng - Nếu bất kỳ hình ảnh nào trong hàng đáp ứng độ phân giải tối thiểu
Sai - Nếu không có hình ảnh nào trong hàng đáp ứng độ phân giải tối thiểu
Triển khai hiện tại: Tập lệnh Python với gấu trúc và đa xử lý chạy trên máy ảo lớn (CPU 60 nhân) mất khoảng 4 - 5 giờ. Vì đây là nhiệm vụ định kỳ nên chúng tôi lên lịch và quản lý nó bằng Cloud Workflow và Celery Backend.
Lưu ý: Chúng tôi đang tìm cách cắt giảm chi phí vì thời gian hoạt động của máy chủ chỉ khoảng 4-6H mỗi ngày. Do đó, CPU 60 Core 24 * 7 sẽ lãng phí rất nhiều tài nguyên.
Tùy chọn được khám phá:
- Chúng tôi đã loại trừ Cloud Run do các giới hạn về bộ nhớ, cpu và thời gian chờ.
- Apache Beam với Cloud Dataflow, có vẻ như có ít hỗ trợ hơn cho khối lượng công việc không phân tích và việc triển khai Dataframe với Apache Beam có vẻ vẫn còn lỗi.
- Spark và Dataproc dường như phù hợp với khối lượng công việc phân tích. Mặc dù tùy chọn Serverless sẽ được ưu tiên hơn nhiều.
Tôi nên nhìn vào hướng nào?