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

    この挿入のファイル形式。 有効なオプションは、TEXTFILESEQUENCEFILERCFILEORCPARQUETAVRO です。 INPUTFORMATOUTPUTFORMAT を使用して、独自の入力形式と出力形式を指定することもできます。 ROW FORMAT SERDE は、TEXTFILESEQUENCEFILE、または 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;