INSERT OVERWRITE DIRECTORY

説明

INSERT OVERWRITE DIRECTORY ステートメントは、Spark ファイル形式または Hive SerDe を使用して、ディレクトリの既存のデータを新しい値で上書きします。Hive SerDe を使用するには、Hive のサポートを有効にする必要があります。挿入される行は、値式で指定するか、クエリからの結果で指定できます。

構文

INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ]
    { spark_format | hive_format }
    { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }

spark_format は次のように定義されます。

USING file_format [ OPTIONS ( key = val [ , ... ] ) ]

hive_format は次のように定義されます。

[ ROW FORMAT row_format ] [ STORED AS hive_serde ]

パラメータ

Spark 形式

INSERT OVERWRITE DIRECTORY '/tmp/destination'
    USING parquet
    OPTIONS (col1 1, col2 2, col3 'test')
    SELECT * FROM test_table;

INSERT OVERWRITE DIRECTORY
    USING parquet
    OPTIONS ('path' '/tmp/destination', col1 1, col2 2, col3 'test')
    SELECT * FROM test_table;

Hive 形式

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
    STORED AS orc
    SELECT * FROM test_table;

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    SELECT * FROM test_table;