最新のHueのリリースでは、メタストアはパーティション化されたHiveテーブルの優れたコントロールを提供しています。Hiveテーブルのパーティション化はフルテーブルスキャンを回避することにより、Hiveが管理しているテーブルのクエリのパフォーマンス向上のための優れた戦略です。
しかし、パーティション化は、データが既にHDFSに存在していたり、またはHive以外のサービスによって管理される外部テーブルに便利です。これらのケースでは、パーティションの場所は(テーブルのベース位置を取り、各パーティションの名前=値のパストークンを付加する)デフォルトの動的Hiveパーティションの場所に適合しない場合があり、パーティションの場所として有効な任意のデータパスを取ることができます。
例えば、次のパーティションで作成された”blog”と呼ばれる外部テーブルを取り上げてみましょう:
CREATE TABLE blog (title STRING, body STRING, pubdate DATE) PARTITIONED BY (dy STRING, dm STRING, dd STRING, dh STRING);
私たちは、必要に応じて特定のパーティションの場所にデータを追加するためにテーブルを変更し続けることができます:
ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-01', dh='2015-01-01 00') LOCATION '/user/jennykim/2015/01/01/00'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-01', dh='2015-01-01 12') LOCATION '/user/jennykim/2015/01/01/12'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-02', dh='2015-01-02 00') LOCATION '/user/jennykim/2015/01/02/00'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-02', dh='2015-01-02 12') LOCATION '/user/jennykim/2015/01/02/12'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-03', dh='2015-01-03 00') LOCATION '/user/jennykim/2015/01/03/00'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-03', dh='2015-01-03 12') LOCATION '/user/jennykim/2015/01/03/12'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-04', dh='2015-01-04 00') LOCATION '/user/jennykim/2015/01/04/00'; ALTER TABLE blog ADD PARTITION (dy='2015', dm='2015-01', dd='2015-01-04', dh='2015-01-04 12') LOCATION '/user/jennykim/2015/01/04/12';
テーブルのパーティションの場所に関係なく、現在Hueのメタストアは、テーブルビューから「パーティションを表示する」リンクをクリックして、テーブル内のすべてのパーティションを閲覧することができます。デフォルトでは、パーティションのビューは名前で(あるいは新しい順で、日付でパーティション化されている場合)逆順にパーティションをソートし、最初の250のパーティションを表示します。
しかし、パーティションの特定のセットを探しているなら、「フィルタを追加」のリンクをクリックしてフィルタパラメータを選択して、それから「フィルタ」ボタンをクリックしてパーティションの値をフィルタリングすることができます!クエリを絞り込むために必要に応じて複数のパーティションのフィルタが追加されることに注意してください、また、アルファベットの昇順でパーティション結果を取得するためのデフォルトのソート順を無効にすることができます。
HueチームによるHueのメタストアアプリでHiveのパーティションをフィルタ、ソート、ブラウズ
最後に、パーティションの場所をファイルブラウザで表示させる「View Parttion Files」のリンクをクリックして任意のパーティションのデータファイルを表示することができます。
HueはそのままシームレスにHiveのデータを操作するための柔軟性を提供しています。いつものように、コメントとフィードバックは hue-user メーリングリストや@gethueまでお気軽に!