INSERT OVERWRITE DIRECTORY mit Hive-Format

Gilt für:Häkchen Databricks Runtime

Überschreibt die vorhandenen Daten im Verzeichnis mit den neuen Werten unter Verwendung von Hive SerDe. Hive-Unterstützung muss aktiviert sein, um diesen Befehl verwenden zu können. Sie geben die eingefügten Zeilen über Wertausdrücke oder das Ergebnis einer Abfrage an.

Syntax

INSERT OVERWRITE [ LOCAL ] DIRECTORY directory_path
    [ ROW FORMAT row_format ] [ STORED AS file_format ]
    { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }

Parameter

  • directory_path

    Das Zielverzeichnis. Das Schlüsselwort LOCAL gibt an, dass sich das Verzeichnis im lokalen Dateisystem befindet.

  • row_format

    Das Zeilenformat für diese Einfügung. Gültige Optionen sind Klausel SERDE und Klausel DELIMITED. Klausel SERDE kann verwendet werden, um einen benutzerdefinierten SerDe für diese Einfügung anzugeben. Alternativ kann die Klausel DELIMITED verwendet werden, um das native SerDe zu spezifizieren und das Trennzeichen, Escapezeichen, NULL-Zeichen usw. anzugeben.

  • file_format

    Das Dateiformat für diese Einfügung. Gültige Optionen sind TEXTFILE, SEQUENCEFILE, RCFILE, ORC, PARQUET und AVRO. Sie können auch Ihr eigenes Eingabe- und Ausgabeformat unter Verwendung von INPUTFORMAT und OUTPUTFORMAT angeben. ROW FORMAT SERDE kann nur mit TEXTFILE, SEQUENCEFILE oder RCFILE verwendet werden, während ROW FORMAT DELIMITED nur mit TEXTFILE verwendet werden kann.

  • VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ]

    Die einzufügenden Werte. Es kann entweder ein explizit angegebener Wert oder NULL eingefügt werden. Zum Trennen der einzelnen Werte in der Klausel müssen Kommas verwendet werden. Es können mehrere Wertesätze angegeben werden, um mehrere Zeilen einzufügen.

  • query

    Eine Abfrage, die die einzufügenden Zeilen erzeugt. Eines der folgenden Formate:

    • Eine SELECT-Anweisung
    • Eine TABLE-Anweisung
    • Eine FROM-Anweisung

Beispiele

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;