Spark SQL için bir maliyet işlevi üzerinde çalışıyorum. TABLO TARAMA davranışını modelleme yaparken, READ ve WRITE'ın boru hattında veya sırayla gerçekleştirilip gerçekleştirilmediğini anlayamıyorum.Spark SQL - Sıralı veya boru hattında READ ve WRITE?
bize aşağıdaki SQL sorgusu düşünelim: NEREDE kolumna = ‘xyz’ FROM tablo1
SEÇ *;
Her görev:
- (yerel olarak veya uzaktaki bir düğümden ya) bir veri bloğunu okur
- kalan tuples diske yüklem
- Yazma tatmin olmayan dizilerini filtreleyin
(1), (2) ve (3) sıralı mı, yoksa boru hattı mı? Diğer bir deyişle, veri bloğu tamamen okunur (önce onu oluşturan tüm disk sayfaları) ve ardından filtrelenir ve daha sonra diske yeniden yazılır veya bu faaliyetler boru hattında mı gerçekleştirilir? (yani (n + 1) -tuple okunurken, n-tuple işlenebilir ve yazılabilir).
Şimdiden teşekkürler.
Yani, cevabınıza göre, tek bir görev verildiğinde, hesaplama süresi TimeRead + TimeProcessing + TimeWrite (sırayla, pipeline yok) ile tahmin edilebilir. TimeRead kendi bölümlerini okumak için harcanan zaman, onu filtrelemek için TimeProcessing ve yerel diskte sonuç yazmak için TimeWrite. Doğrumuyum? – loba76