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
Data Source は、テーブルを作成するために使用される入力フォーマットです。データソースは、CSV、TXT、ORC、JDBC、PARQUET などです。
-
ROW FORMAT
SERDE は、カスタム SerDe を指定するため、またはネイティブ SerDe を使用するために DELIMITED 句を指定するために使用されます。
-
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');