PrestoDB有多個connectors。雖然連接器確實實現了讀取和寫入操作,但是從我閱讀的所有教程中,似乎它們通常僅用作數據源以便從中讀取。例如,netflix在Amazon S3上具有「10千兆字節」數據,並且他們明確指出Presto工作節點上沒有使用磁盤(並且沒有使用HDFS)。 陳述的用例是「特設交互式」查詢。PrestoDB緩存內部開箱即用的中間結果嗎?
此外,亞馬遜雅典娜本質上是S3 + Presto,並附帶類似的使用案例。
我很困惑這是如何工作的。顯然,你不想在每個查詢中讀取10 PB的數據。所以我假設,你想保留一些先前在內存中獲取的數據,比如數據庫索引。但是,對數據和查詢沒有限制,我不明白這是如何有效的。
使用案例1:我經常運行相同的查詢,例如,在儀表板上顯示指標。 Presto是否避免重新掃描已知的數據點?
用例2:我正在分析一個大型數據集。每個查詢都稍有不同,但是有一些常見的子查詢,或者我們篩選到數據的一個公共子集。 Presto是否從之前的查詢中學習並帶來中間結果?或者,如果不是這種情況,我是否建議在某處存儲中間結果(例如CREATE TABLE AS ...)?
謝謝,您提供的鏈接有助於:如果數據分區是數據源配置的一部分,並且查詢與此分區保持一致,那麼Athena/Presto可以在只讀取數據的子集。 – Jan