INSERT-Verzeichnis mit Hive-Format einfügenINSERT OVERWRITE DIRECTORY with Hive format

Das INSERT OVERWRITE DIRECTORY mit Hive-Format überschreibt die vorhandenen Daten im Verzeichnis mit den neuen Werten mithilfe von Hive SerDe .The INSERT OVERWRITE DIRECTORY with Hive format overwrites the existing data in the directory with the new values using Hive SerDe. Die Hive-Unterstützung muss aktiviert sein, um diesen Befehl zu verwenden.Hive support must be enabled to use this command. Die eingefügten Zeilen können durch Wert Ausdrücke oder Ergebnisse aus einer Abfrage angegeben werden.The inserted rows can be specified by value expressions or result from a query.

SyntaxSyntax

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

ParameterParameters

  • directory_pathdirectory_path

    Gibt das Zielverzeichnis an.Specifies the destination directory. Das- LOCAL Schlüsselwort wird verwendet, um anzugeben, dass sich das Verzeichnis auf dem lokalen Dateisystem befindet.The LOCAL keyword is used to specify that the directory is on the local file system.

  • row_formatrow_format

    Gibt das Zeilen Format für diese Einfügung an.Specifies the row format for this insert. Gültige Optionen sind die SERDE -Klausel und die- DELIMITED Klausel.Valid options are SERDE clause and DELIMITED clause. SERDE -Klausel kann verwendet werden, um eine benutzerdefinierte SerDe für diese Einfügung anzugeben.SERDE clause can be used to specify a custom SerDe for this insert. Alternativ DELIMITED kann die-Klausel verwendet werden, um den systemeigenen SerDe festzulegen und das Trennzeichen, das Escapezeichen, das NULL-Zeichen usw. anzugeben.Alternatively, DELIMITED clause can be used to specify the native SerDe and state the delimiter, escape character, null character, and so on.

  • file_formatfile_format

    Gibt das Dateiformat für diese Einfügung an.Specifies the file format for this insert. Gültige Optionen sind TEXTFILE , SEQUENCEFILE , RCFILE , ORC , PARQUET und AVRO .Valid options are TEXTFILE, SEQUENCEFILE, RCFILE, ORC, PARQUET, and AVRO. Mithilfe von und können Sie auch Ihr eigenes Eingabe-und Ausgabeformat angeben INPUTFORMAT OUTPUTFORMAT .You can also specify your own input and output format using INPUTFORMAT and OUTPUTFORMAT. ROW FORMAT SERDE kann nur mit TEXTFILE , oder verwendet werden SEQUENCEFILE RCFILE , während ROW FORMAT DELIMITED nur mit verwendet werden kann TEXTFILE .ROW FORMAT SERDE can only be used with TEXTFILE, SEQUENCEFILE, or RCFILE, while ROW FORMAT DELIMITED can only be used with TEXTFILE.

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

    Gibt die einzufügenden Werte an.Specifies the values to be inserted. Es kann entweder ein explizit angegebener Wert oder ein NULL-Wert eingefügt werden.Either an explicitly specified value or a NULL can be inserted. Ein Komma muss zum Trennen der einzelnen Werte in der-Klausel verwendet werden.A comma must be used to separate each value in the clause. Es können mehr als ein Satz von Werten angegeben werden, um mehrere Zeilen einzufügen.More than one set of values can be specified to insert multiple rows.

  • Fragequery

    Eine Abfrage, die die einzufügenden Zeilen erzeugt.A query that produces the rows to be inserted. Sie kann in einem der folgenden Formate vorliegen:It can be in one of following formats:

    • eine- SELECT Anweisunga SELECT statement
    • eine- TABLE Anweisunga TABLE statement
    • eine- FROM Anweisunga FROM statement

BeispieleExamples

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;