INSERT OVERWRITE DIRECTORY (使用 Hive 格式)
適用於: Databricks Runtime
使用Hive SerDe
以新的值覆寫目錄中的現有數據。
必須啟用Hive支援才能使用此命令。 您可以依值表示式或查詢的結果指定插入的數據列。
語法
INSERT OVERWRITE [ LOCAL ] DIRECTORY directory_path
[ ROW FORMAT row_format ] [ STORED AS file_format ]
{ VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
參數
directory_path
目的地目錄。 關鍵詞
LOCAL
會指定目錄位於本機檔案系統上。row_format
這個插入的數據列格式。 有效的選項為
SERDE
子句和DELIMITED
子句。SERDE
子句可用來指定這個插入的自訂SerDe
。 或者,DELIMITED
子句可用來指定分隔符、逸出字元、Null 字元等等的原生SerDe
和狀態。file_format
這個插入的檔案格式。 有效選項為
TEXTFILE
、、SEQUENCEFILE
、ORC
RCFILE
、PARQUET
、 和AVRO
。 您也可以使用INPUTFORMAT
和OUTPUTFORMAT
指定自己的輸入和輸出格式。ROW FORMAT SERDE
只能與、 或 搭配TEXTFILE
使用,而ROW FORMAT DELIMITED
只能搭配 使用TEXTFILE
。RCFILE
SEQUENCEFILE
VALUES ( { value |NULL } [ , ... ][ , ( … ) ]
要插入的值。 可以插入明確指定的值或 NULL。 逗號必須用來分隔 子句中的每個值。 您可以指定一組以上的值來插入多個資料列。
query
產生要插入之數據列的查詢。 下列其中一種格式:
- 語句
SELECT
- 語句
TABLE
- 語句
FROM
- 語句
範例
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;