2015-10-20 75 views
0

我個人的交易(如客戶代碼,產品,產品組,價格等)本地火花和實木複合地板的文件

我在地板這個文件現在劃分爲每個YEAR_MONTH

交易信息當彙總產品組等等時,這是非常有效的。

但是,如果我想在幾個月內檢索特定客戶的信息,這不是非常有效/快速。

我試圖按year_month分區& customer_code,但是之後有很多磁盤I/O,因爲每個分區現在都是一個客戶代碼,其中包含一行數據。

有沒有辦法提高性能,讓我們說在一個分區中粘貼10000個客戶?或者說,如果木條地板文件大小是64Mb或類似的東西,分區到下一組。

有了Spark中的邏輯,它在實木複合地板文件中具有min max per屬性,我期望提升性能,但我太新了,無法用spark/parquet來真正理解這是否是一個正確的思想,如果是技術上的可能。 (當然,我也可以自己創建客戶代碼組,並在查詢中使用它,但是我希望更自動的可能)。

感謝,

G.

+0

將你的數據放入cassandra並在那裏進行分區,但使用索引進行。它會讓你對每個分區的客戶隨機搜索更快嗎?我明白,這不是一個答案,但我基本上經歷過類似的情況,並使用卡桑德拉,但我不知道如果我使用木地板會發生什麼! –

回答

0

如果您訂購的客戶代碼中的每個文件數據和配置的Spark由客戶代碼使用拼花謂詞下推(默認啓用),然後全面掃描會更快。

內部parquet文件存儲每個頁面和塊的列最小/最大值。按值過濾可以高效地跳過基於此統計數據的頁面和塊。

相關問題