2017-01-13 3 views
0

述語プッシュダウンを提唱しているHortonworkのブログ投稿in this postが出てきました。filterPushdownはPySparkの設定ですか?

私はSpark 1.4のマニュアルでそれを見つけることができません(私が使用しているバージョンです)。これをfalseに設定することについて心配する必要はありますか?それとも既にネイティブ設定ですか?私がこれを変えることができるなら、私はどのようにそれをするのですか?

答えて

0

述語プッシュダウンは、sparkの触媒最適化の一部です。これは自動的に発生します。

たとえば、SQLサーバーからデータフレームを作成し、それからフィルタを実行しているとします。フィルタリングをスパークではなくSQLサーバーで実行すると、パフォーマンスが向上します(ネットワーク上のトラフィック量を減らすため)。 Sparkの触媒エンジンは、JDBCソースが述語のプッシュダウンをサポートしていることを認識し、そうするために式を再編成します。

この記事の特定の例では、ORCソースが、特定のケース(つまり、インデックスを組み込んでいる場合)で述語プッシュダウンをサポートしているとしか言いません。

これは、ケースの99.9%で心配する必要があるものではなく、舞台裏でパフォーマンスが向上するだけです。

+0

さて、フラットファイルに基づいたデータフレームがあるとします。次に、タイムスタンプよりも大きいデータ、例えば昨日の朝の「01-13-2017 08:00:00」に基づいてフィルタリングしたいと思います。フィルタリングを行うと述語プッシュダウンが自動的に適用されますか?これはもちろん、Pyspark内のすべてです – simplycoding

+0

ファイルの種類によって異なります。 ORCははいです。また、寄木細工は真実かもしれません(少なくとも列選択を押してくれますし、書くときにpartitionByを使った場合もそうです)。他の形式の場合は、おそらくそうではありません。ファイル形式は索引付けをサポートしている必要があります。また、その実装はこれをサポートする必要があります。 –

関連する問題