Condividi tramite


INSERT OVERWRITE DIRECTORY con formato Hive

Si applica a:segno di spunta sì Databricks Runtime

Sovrascrive i dati esistenti nella directory con il nuovo values usando Hive SerDe. Per usare questo comando, è necessario abilitare il supporto hive. Specificare le righe inserite per espressioni di valore o il risultato di una query.

Sintassi

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

Parameters

  • directory_path

    Directory di destinazione. La LOCAL parola chiave specifica che la directory si trova nel file system locale.

  • row_format

    Formato di riga per questo insert. Le opzioni valide sono SERDE clausola e DELIMITED clausola. La clausola SERDE può essere usata per specificare una SerDe personalizzata per questo insert. In alternativa, DELIMITED la clausola può essere usata per specificare il delimitatore e SerDe lo stato del delimitatore, il carattere di escape, il carattere Null e così via.

  • file_format

    Formato di file per questo insert. Le opzioni valide sono TEXTFILE, SEQUENCEFILE, RCFILEORC, PARQUET, e AVRO. È anche possibile specificare il proprio formato di input e output usando INPUTFORMAT e OUTPUTFORMAT. ROW FORMAT SERDE può essere usato solo con TEXTFILE, SEQUENCEFILEo RCFILE, mentre ROW FORMAT DELIMITED può essere usato solo con TEXTFILE.

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

    values da inserire. È possibile inserire un valore specificato in modo esplicito o null. È necessario utilizzare una virgola per separare ogni valore nella clausola . È possibile specificare più set di values per insert più righe.

  • query

    Query che produce le righe da inserire. Uno dei formati seguenti:

    • Un'istruzione SELECT
    • Un'istruzione TABLE
    • Un'istruzione FROM

Esempi

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;