INSERT OVERWRITE DIRECTORY

說明

INSERT OVERWRITE DIRECTORY 陳述式使用 Spark 檔案格式或 Hive Serde,以新值覆寫目錄中的現有資料。必須啟用 Hive 支援才能使用 Hive Serde。插入的列可以由值表達式指定,或由查詢產生。

語法

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;