Hive 形式を使用した INSERT OVERWRITE DIRECTORY
適用対象: 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;