INSERT OVERWRITE DIRECTORY con formato Hive

Si applica a:check contrassegnato con sì Databricks Runtime

Sovrascrive i dati esistenti nella directory con i nuovi valori 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 }

Parametri

  • 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 inserimento. Le opzioni valide sono SERDE clausola e DELIMITED clausola. SERDE la clausola può essere utilizzata per specificare un oggetto personalizzato SerDe per questo inserimento. In alternativa, DELIMITED la clausola può essere usata per specificare il delimitatore nativo SerDe e lo stato, il carattere di escape, il carattere Null e così via.

  • file_format

    Formato di file per questo inserimento. Le opzioni valide sono TEXTFILE, SEQUENCEFILE, ORCRCFILE, 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 } [ , ... ] ) [ , ( ... ) ]

    Valori 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 valori per inserire più righe.

  • Query

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

    • Istruzione SELECT
    • Istruzione TABLE
    • 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;