CREATE TABLE LIKE
説明
CREATE TABLE
ステートメントは、既存のテーブルまたはビューの定義やメタデータを使用して、新しいテーブルを定義します。
構文
CREATE TABLE [IF NOT EXISTS] table_identifier LIKE source_table_identifier
USING data_source
[ ROW FORMAT row_format ]
[ STORED AS file_format ]
[ TBLPROPERTIES ( key1=val1, key2=val2, ... ) ]
[ LOCATION path ]
パラメータ
-
table_identifier
テーブル名を指定します。これはデータベース名を使用して修飾することもできます。
構文:
[ database_name. ] table_name
-
USING data_source
データソースは、テーブルを作成するために使用される入力フォーマットです。データソースは、CSV、TXT、ORC、JDBC、PARQUET などです。
-
ROW FORMAT
ネイティブの SerDe を使用するために、カスタム SerDe か DELIMITED 句を指定するために、SERDE が使用されます。
-
STORED AS
テーブルのストレージに使用するファイルのフォーマットです。TEXTFILE、ORC、PARQUET などです。
-
TBLPROPERTIES
設定が必要なテーブルのプロパティが指定されます。たとえば、
created.by.user
、owner
などです。 -
LOCATION
テーブルのデータが格納されるディレクトリへのパスで、HDFS などの分散ストレージ上のパスなどです。外部テーブルを作成する場所です。
例
-- Create table using an existing table
CREATE TABLE Student_Dupli like Student;
-- Create table like using a data source
CREATE TABLE Student_Dupli like Student USING CSV;
-- Table is created as external table at the location specified
CREATE TABLE Student_Dupli like Student location '/root1/home';
-- Create table like using a rowformat
CREATE TABLE Student_Dupli like Student
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE
TBLPROPERTIES ('owner'='xxxx');