Yechim
1. aID lardan foydalanib BF (Bloom Filter) qurdim.
2. B table ni BF o'tkazib oldim.
3. Chiqqan natijani join qildim.
Qiziq narsalar:
1. aID lar 50 million. Bu degani men birma-bir yurib chiqib uni BF ga solib chiqaman deyish xato. A tablni parallel yurib chiqib, ohirida bir nechta BF larni merge qilish kerak bo'ladi.
2. B table ni ham parallel yurib chiqib har bir partition ni parallel BF dan o'tkazib chiqiladi. Bunda BF har bir workerga parameter sifatida berib yuboriladi.
3. BF 100% to'g'ri ishlamaydi. Bunda men 0.001 False Positive ishlatdim. Ya'ni (26B - 50M) * 0.001 = ~26M, 50M+26M = 76Million element qoldi. Bu esa 26B ni join qilishdan ancha yaxshi va oson edi.
#tarjiba
JavaHere
28.08.2026
Uy, Polsha
Post #1049
4.1K
JavaHere's Blogs 🚀 Join task (updated) Endigi qilishim kerak bo’lgan ish: Table A va B. A table da 50 million atrofida row. B table da 26 milliard atrofida row. A tabledagi X columnni B tabledagi X column yordamida to’ldirishim kerak. A - aID B - bID Menda C mapping…
- ⚡ 20