Hive-partitioning
Hive-パーティショニング
Hiveはテーブルをパーティションに編成します。 これは、日付、都市、部門などのパーティション化された列の値に基づいて、テーブルを関連部分に分割する方法です。 パーティションを使用すると、データの一部を簡単に照会できます。
テーブルまたはパーティションは*バケット*に細分され、より効率的なクエリに使用できるデータに追加の構造を提供します。 バケットは、テーブルの列のハッシュ関数の値に基づいて機能します。
たとえば、 Tab1 という名前のテーブルには、id、name、dept、yoj(参加年)などの従業員データが含まれます。 2012年に参加したすべての従業員の詳細を取得する必要があるとします。 クエリは、テーブル全体から必要な情報を検索します。 ただし、従業員データを年で分割し、別のファイルに保存すると、クエリの処理時間が短縮されます。 次の例は、ファイルとそのデータをパーティション分割する方法を示しています。
次のファイルには、employeedataテーブルが含まれています。
/tab1/employeedata/file1
上記のデータは、年を使用して2つのファイルに分割されます。
/tab1/employeedata/2012/file2
/tab1/employeedata/2013/file3
パーティションを追加する
テーブルを変更することで、テーブルにパーティションを追加できます。 Id、Name、Salary、Designation、Dept、yojなどのフィールドを持つ employee というテーブルがあると仮定します。
構文:
次のクエリは、従業員テーブルにパーティションを追加するために使用されます。
パーティションの名前を変更する
このコマンドの構文は次のとおりです。
パーティションの名前を変更するには、次のクエリを使用します。
パーティションの削除
パーティションを削除するには、次の構文を使用します。
パーティションを削除するには、次のクエリを使用します。