2017-01-11 18 views
0

我在玩拼花地板格式。 我有事件的實木複合文件,每個都包含時間戳,主題和標籤。 該文件按主題排序,然後按時間戳排序。 我跑,可等來描述查詢:即使應用於記錄的謂詞下推式,查詢Parquet文件嵌套列掃描全列

select topic from T where topic = 404; 

它運行得很快,並返回很少的行。它的運行速度比快很多:

select topic from T; 

當我改變它是這樣的:

select tags from T where topic = 404; 

它會作爲運行

select tags from T; 

分析計劃緩慢,似乎(當使用spark),謂詞下推應用,但從性能我可以認爲它不適用於標籤的列。

我測試了蜂巢,火花和presto。 對此有什麼要求嗎?或者其他任何能夠更好地處理鑲木嵌套陣列的技術?在火花

  • 執行計劃:

==實際規劃==

*項目[標籤#4]

+ - *過濾(isnotnull(話題#3L )& &(主題#3L = 404))

+ - * FileScan鑲木[話題#3L,標記#4 ]成批:假,格式: 鑲木,位置:InMemoryFileIndex [文件:/示例路徑], PartitionFilters:[],PushedFilters:[IsNotNull(主題), EqualTo(主題,404)],ReadSchema:結構>

感謝, Roee

+0

記錄請分享執行計劃星火問題。 –

+0

嗨,分享了「從T where topic = 404選擇標籤」查詢的執行計劃。 – roee

+1

https://issues.apache.org/jira/browse/SPARK-4502解決此問題 –

回答

0

正是在SPARK-17636

+0

謝謝,但它不是同一個問題。 1. SPARK-17636顯示謂詞中涉及的嵌套字段不會觸發下推。我所經歷的是,即使其他字段觸發下推時,也會完全掃描嵌套字段。 2.這一個僅限於火花,儘管問題發生在我身上的火花/蜂房/爆發。所以如果出現問題的是鑲木地板本身。 – roee