INSERT OVERWRITE DIRECTORY mit Hive-Format
Gilt für: 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 KlauselDELIMITED
. KlauselSERDE
kann verwendet werden, um einen benutzerdefiniertenSerDe
für diese Einfügung anzugeben. Alternativ kann die KlauselDELIMITED
verwendet werden, um das nativeSerDe
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
undAVRO
. Sie können auch Ihr eigenes Eingabe- und Ausgabeformat unter Verwendung vonINPUTFORMAT
undOUTPUTFORMAT
angeben.ROW FORMAT SERDE
kann nur mitTEXTFILE
,SEQUENCEFILE
oderRCFILE
verwendet werden, währendROW FORMAT DELIMITED
nur mitTEXTFILE
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
- Eine
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;