テーブルの作成時に理想的なデータの局所性またはレイアウトがわかっている場合に、Impala ノードがネットワークを介して他のノードから不必要にデータを要求することを避けたいと思います。これは、パーティションからのすべてのレコードがとにかく同じ場所 (ノード) で必要とされる「非加算」操作で役立ちます (パーセンタイルなど)。
パーティション内のすべてのデータを常に HDFS レプリカの単一ノードに配置するように Impala に指示することはできますか?
Impala-SQL では、「PARTITIONED BY」句がこの機能を提供するかどうかはわかりません。私の理解では、Impala はそのパーティションを HDFS 上の個別のファイルにチャンクしますが、HDFS はデフォルトで関連ファイルまたはブロックのコロケーションを保証しません (むしろ逆を達成しようとします)。
HDFS 開発に対する Impala の影響に関するいくつかの情報が見つかりましたが、これらが既に実装されているか、まだ計画中であるかは明確ではありません。
http://www.slideshare.net/deview/aaron-myers-hdfs-impala (スライド 23 ~ 24)
よろしくお願いします。