このトピックでは、Dataphin コンピュートエンジンを使用する場合に Hive でサポートされている DDL(データ定義言語)コマンドと構文の概要について説明します。
目次
CREATE TABLE
このコマンドは、新しいテーブルを作成するために使用されます。
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type [column_constraint_specification] [COMMENT col_comment], ... [constraint_specification])]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, ...) [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[SKEWED BY (col_name, ...) ON ((col_value, ...), ...) [STORED AS DIRECTORIES]]
[[ROW FORMAT row_format] [STORED AS file_format] | STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]]
[LOCATION hdfs_path]
[TBLPROPERTIES (property_name=property_value, ...)]
[AS select_statement];
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
LIKE existing_table_or_view_name
[LOCATION hdfs_path];
data_type:
: primitive_type
| array_type
| map_type
| struct_type
| union_type
primitive_type:
: TINYINT
| SMALLINT
| INT
| BIGINT
| BOOLEAN
| FLOAT
| DOUBLE
| DOUBLE PRECISION
| STRING
| BINARY
| TIMESTAMP
| DECIMAL
| DECIMAL(precision, scale)
| DATE
| VARCHAR
| CHAR
array_type:
: ARRAY < data_type >
map_type:
: MAP < primitive_type, data_type >
struct_type:
: STRUCT < col_name : data_type [COMMENT col_comment], ...>
union_type:
: UNIONTYPE < data_type, data_type, ... >
row_format:
: DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char]
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]
[NULL DEFINED AS char]
| SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, ...)]
file_format:
: SEQUENCEFILE
| TEXTFILE
| RCFILE
| ORC
| PARQUET
| AVRO
| JSONFILE
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
column_constraint_specification:
: [ PRIMARY KEY|UNIQUE|NOT NULL|DEFAULT [default_value]|CHECK [check_expression] ENABLE|DISABLE NOVALIDATE RELY/NORELY ]
default_value:
: [ LITERAL|CURRENT_USER()|CURRENT_DATE()|CURRENT_TIMESTAMP()|NULL ]
constraint_specification:
: [, PRIMARY KEY (col_name, ...) DISABLE NOVALIDATE RELY/NORELY ]
[, CONSTRAINT constraint_name FOREIGN KEY (col_name, ...) REFERENCES table_name(col_name, ...) DISABLE NOVALIDATE
[, CONSTRAINT constraint_name UNIQUE (col_name, ...) DISABLE NOVALIDATE RELY/NORELY ]
[, CONSTRAINT constraint_name CHECK [check_expression] ENABLE|DISABLE NOVALIDATE RELY/NORELY ]
詳細については、「参照ドキュメント」をご参照ください。
DROP TABLE
このコマンドは、テーブルを削除するために使用されます。
DROP TABLE [IF EXISTS] table_name [PURGE]; -- (注: PURGE オプションは Hive 0.14.0 以降のバージョンで使用可能です)
詳細については、「参照ドキュメント」をご参照ください。
TRUNCATE TABLE
このコマンドは、テーブルからすべての行を削除します。
TRUNCATE [TABLE] table_name [PARTITION partition_spec];
partition_spec:
: (partition_column = partition_col_value, partition_column = partition_col_value, ...)
詳細については、「参照ドキュメント」をご参照ください。
ALTER TABLE
テーブルの構造を変更します。
ALTER TABLE table_name RENAME TO new_table_name;
詳細については、「参照ドキュメント」をご参照ください。
ALTER PARTITION
パーティションの定義を変更します。
ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION partition_spec [LOCATION 'location'][, PARTITION partition_spec [LOCATION 'location'], ...];
partition_spec:
: (partition_column = partition_col_value, partition_column = partition_col_value, ...)
詳細については、「参照ドキュメント」をご参照ください。
ALTER COLUMN
列の定義を変更します。
ALTER TABLE table_name [PARTITION partition_spec] CHANGE [COLUMN] col_old_name col_new_name column_type
[COMMENT col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];
詳細については、「参照ドキュメント」をご参照ください。
CREATE VIEW
このコマンドは、新しいビューを作成するために使用されます。
CREATE VIEW [IF NOT EXISTS] [db_name.]view_name [(column_name [COMMENT column_comment], ...)]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...;
詳細については、「参照ドキュメント」をご参照ください。
DROP VIEW
データベースから既存のビューを削除します。
DROP VIEW [IF EXISTS] [db_name.]view_name;
詳細については、「参照ドキュメント」をご参照ください。
ALTER VIEW PROPERTIES
ビューのプロパティを変更します。
ALTER VIEW [db_name.]view_name SET TBLPROPERTIES (property_name = property_value, ...);
詳細については、「参照ドキュメント」をご参照ください。
CREATE MATERIALIZED VIEW
マテリアライズドビューを作成するには:
CREATE MATERIALIZED VIEW [IF NOT EXISTS] [db_name.]materialized_view_name
[DISABLE REWRITE]
[COMMENT materialized_view_comment]
[PARTITIONED ON (col_name, ...)]
[CLUSTERED BY (col_name, ...) | DISTRIBUTED BY (col_name, ...) SORTED BY (col_name, ...)]
[
[ROW FORMAT row_format]
[STORED AS file_format]
| STORED BY 'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]
]
[LOCATION hdfs_path]
[TBLPROPERTIES (property_name=property_value, ...)]
AS SELECT ...;
詳細については、「参照ドキュメント」をご参照ください。
DROP MATERIALIZED VIEW
このコマンドは、マテリアライズドビューを削除するために使用されます。
DROP MATERIALIZED VIEW [db_name.]materialized_view_name;
詳細については、「参照ドキュメント」をご参照ください。
ALTER MATERIALIZED VIEW
マテリアライズドビューのプロパティを変更します。
ALTER MATERIALIZED VIEW [db_name.]materialized_view_name ENABLE|DISABLE REWRITE;
詳細については、「参照ドキュメント」をご参照ください。
CREATE INDEX
このコマンドは、インデックスを作成するために使用されます。
CREATE INDEX index_name
ON TABLE base_table_name (col_name, ...)
AS index_type
[WITH DEFERRED REBUILD]
[IDXPROPERTIES (property_name=property_value, ...)]
[IN TABLE index_table_name]
[
[ ROW FORMAT ...] STORED AS ...
| STORED BY ...
]
[LOCATION hdfs_path]
[TBLPROPERTIES (...)]
[COMMENT "index comment"];
詳細については、「参照ドキュメント」をご参照ください。
DROP INDEX
テーブルから既存のインデックスを削除します。
DROP INDEX [IF EXISTS] index_name ON table_name;
詳細については、「参照ドキュメント」をご参照ください。
ALTER INDEX
既存のインデックスを変更します。
ALTER INDEX index_name ON table_name [PARTITION partition_spec] REBUILD;
詳細については、「参照ドキュメント」をご参照ください。
CREATE TEMPORARY MACRO
このコマンドは、一時マクロを作成するために使用されます。
CREATE TEMPORARY MACRO macro_name([col_name col_type, ...]) expression;
詳細については、「参照ドキュメント」をご参照ください。
DROP TEMPORARY MACRO
このコマンドは、一時マクロを削除するために使用されます。
DROP TEMPORARY MACRO [IF EXISTS] macro_name;
詳細については、「参照ドキュメント」をご参照ください。
CREATE TEMPORARY FUNCTION
次の構文を使用して一時関数を作成します。
CREATE TEMPORARY FUNCTION function_name AS class_name;
詳細については、「参照ドキュメント」をご参照ください。
DROP TEMPORARY FUNCTION
このコマンドは、一時関数を削除します。
DROP TEMPORARY FUNCTION [IF EXISTS] function_name;
詳細については、「参照ドキュメント」をご参照ください。
CREATE FUNCTION
このコマンドは、新しい関数を作成するために使用されます。
CREATE FUNCTION [db_name.]function_name AS class_name
[USING JAR|FILE|ARCHIVE 'file_uri' [, JAR|FILE|ARCHIVE 'file_uri'] ];
詳細については、「参照ドキュメント」をご参照ください。
DROP FUNCTION
このコマンドは、指定された関数を削除するために使用されます。
DROP FUNCTION [IF EXISTS] function_name;
詳細については、「参照ドキュメント」をご参照ください。
RELOAD FUNCTION
このコマンドは、関数を再読み込みします。
RELOAD (FUNCTIONS|FUNCTION);
詳細については、「参照ドキュメント」をご参照ください。
SHOW TABLES
テーブルのリストを表示します。
SHOW TABLES [IN database_name] ['identifier_with_wildcards'];
詳細については、「参照ドキュメント」をご参照ください。
SHOW VIEWS
データベース内のビューのリストを表示します。
SHOW VIEWS [IN/FROM database_name] [LIKE 'pattern_with_wildcards'];
詳細な使用方法については、SHOW VIEWS のドキュメントを参照してください。
SHOW MATERIALIZED VIEWS
マテリアライズドビューのリストを表示します。
SHOW MATERIALIZED VIEWS [IN/FROM database_name] [LIKE 'pattern_with_wildcards'];
詳細については、「参照ドキュメント」をご参照ください。
SHOW PARTITIONS
このコマンドは、指定されたテーブルのパーティションを表示します。
SHOW PARTITIONS table_name;
詳細については、「参照ドキュメント」をご参照ください。
SHOW CREATE TABLE
テーブルまたはビューの作成に使用された SQL 文を表示します。
SHOW CREATE TABLE ([db_name.]table_name|view_name);
詳細については、「参照ドキュメント」をご参照ください。
SHOW INDEXES
テーブルのインデックスを表示します。
SHOW [FORMATTED] (INDEX|INDEXES) ON table_with_index [(FROM|IN) db_name];
詳細については、「参照ドキュメント」をご参照ください。
SHOW COLUMNS
テーブルの列を表示します。
SHOW COLUMNS (FROM|IN) table_name [(FROM|IN) db_name];
詳細については、「参照ドキュメント」をご参照ください。
SHOW FUNCTIONS
使用可能な関数のリストを表示します。
SHOW FUNCTIONS [LIKE "<pattern>"];
詳細については、「参照ドキュメント」をご参照ください。
SHOW LOCKS
テーブルまたはデータベースの現在のロックを表示します。
SHOW LOCKS <table_name>;
SHOW LOCKS <table_name> EXTENDED;
SHOW LOCKS <table_name> PARTITION (<partition_spec>);
SHOW LOCKS <table_name> PARTITION (<partition_spec>) EXTENDED;
SHOW LOCKS (DATABASE|SCHEMA) database_name; -- (注: Hive 0.13.0 以降、SCHEMA は Hive 0.14.0 で追加)
詳細については、「参照ドキュメント」をご参照ください。
DESCRIBE DATABASE
このコマンドは、データベースに関する詳細を提供します。
DESCRIBE DATABASE [EXTENDED] db_name;
DESCRIBE SCHEMA [EXTENDED] db_name; -- (注: Hive 1.1.0 以降)
詳細については、「参照ドキュメント」をご参照ください。