■ はじめに
Hive の パーティション (partition) について、まとめる cf Partition = 仕切り壁、分割、分配
目次
【1】文法 1)CREATE TABLE 2)INSERT SELECT 3)ALTER TABLE ADD PARTITION 4)MSCK REPAIR TABLE
【1】文法
1)CREATE TABLE 2)INSERT SELECT 3)ALTER TABLE ADD PARTITION 4)MSCK REPAIR TABLE
1)CREATE TABLE
https://blog.amedama.jp/entry/2018/01/03/051818
構文
-- テーブル作成 CREATE TABLE <テーブル名> ( <項目名> <データ型>, … ) PARTITIONED BY ( 項目名1 データ型1, 項目名2 データ型2, ... );
サンプル
CREATE EXTERNAL TABLE IF NOT EXISTS person( id string, name string ) PARTITIONED BY ( created_at string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 's3://your-bucket/hello/world/';
2)INSERT SELECT
構文
INSERT INTO TABLE <テーブル名> PARTITION ( <パーティション名>='<値>') SELECT ...; INSERT OVERWRITE TABLE sample_db.person PARTITION (created_at='2022-05-14') SELECT 'x0001' , 'Mike' ;
トラブル:エラー「Need to specify partition columns」が表示
以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2020/05/28/175428
3)ALTER TABLE ADD PARTITION
* テーブルへのパーティション追加
サンプル
ALTER TABLE person ADD PARTITION (created_at=’20200716′)
4)MSCK REPAIR TABLE
https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
* パーティションの修復
構文
MSCK REPAIR TABLE [テーブル名]; # もっと正確なのだと... MSCK [REPAIR] TABLE table_name [ADD/DROP/SYNC PARTITIONS];
参考文献
https://blog.amedama.jp/entry/2018/01/03/051818
https://tagomoris.hatenablog.com/entry/20141114/1415938647
https://open-groove.net/hive/hive-partition/
https://www.sbcloud.co.jp/entry/2019/03/01/hive/
関連記事
Hive / HiveQL ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2019/11/25/235219
Hive / HiveQL ~ パーティション / あれこれ編 ~
https://dk521123.hatenablog.com/entry/2020/09/18/113637
Hive / HiveQL ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/06/02/183823
Hive / HiveQL ~ HiveQL関数編 ~
https://dk521123.hatenablog.com/entry/2020/03/10/224640
Hive / HiveQL ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2020/03/04/225943
Hive / HiveQL ~ データをクリーニングする ~
https://dk521123.hatenablog.com/entry/2020/07/06/232350
Hive に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/11/20/174039
Hive / Partition に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/05/28/175428
【SQL Server】データ パーティション
https://dk521123.hatenablog.com/entry/2012/05/10/000555