Tôi đã không thể tìm thấy nhiều thông tin về chủ đề này nhưng cho phép nói rằng chúng tôi sử dụng một khung dữ liệu để đọc trong một tập tin lát gỗ là 10 Blocks spark sẽ tự nhiên tạo 10 phân vùng. Nhưng khi dataframe đọc trong tập tin để xử lý nó, nó sẽ không xử lý một tỷ lệ lớn dữ liệu cho phân vùng bởi vì nếu nó được xử lý tập tin không nén kích thước khối sẽ có ý nghĩa lớn hơn nhiều các phân vùng sẽ lớn hơn là tốt.Spark DataFrames với Parquet và Partitioning
Vì vậy, hãy để tôi làm rõ, tính năng nén bằng gỗ (những con số này không hoàn toàn chính xác). 1GB Par = 5 Blocks = 5 Phân vùng có thể được giải nén thành 5 GB, tạo thành 25 khối/25 phân vùng. Nhưng trừ khi bạn phân vùng lại tập tin par 1GB, bạn sẽ bị kẹt với chỉ 5 phân vùng khi tối ưu nó sẽ là 25 phân vùng? Hoặc là logic của tôi sai.
Sẽ có ý nghĩa khi phân vùng lại để tăng tốc độ? Hay tôi đang nghĩ về điều này sai. Bất cứ ai có thể làm sáng tỏ về điều này?
Giả định:
- 1 khối = 1 Partition Đối Spark
- 1 lõi hoạt động trên 1 phân vùng
"đang xử lý nhiều thông tin hơn" so với thông tin gì? –
Điều tôi muốn nói là chúng ta đọc một tập tin bằng gỗ với 10 khối nhưng khi nó chưa được nén thì bạn vẫn đang sử dụng 10 phân vùng trong Spark. Bạn có nên phân vùng lại vì tệp không nén tự động lớn hơn không? – theMadKing
đã thêm các giải thích bổ sung – theMadKing