適用対象:
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句を使用すると、ネイティブSerDeを指定し、区切り記号、エスケープ文字、null 文字などを明示できます。file_format
この挿入のファイル形式。 有効なオプションは、
TEXTFILE、SEQUENCEFILE、RCFILE、ORC、PARQUET、AVROです。INPUTFORMATとOUTPUTFORMATを使用して、独自の入力形式と出力形式を指定することもできます。ROW FORMAT SERDEは、TEXTFILE、SEQUENCEFILE、またはRCFILEでのみ使用できます。ROW FORMAT DELIMITEDは、TEXTFILEでのみ使用できます。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;