Sdílet prostřednictvím


INSERT OVERWRITE DIRECTORY s formátem Hive

Platí pro: zaškrtnutí označeného ano Databricks Runtime

Přepíše existující data v adresáři novými hodnotami pomocí Hive SerDe. Aby bylo možné tento příkaz použít, musí být povolená podpora Hive. Vložené řádky zadáte podle výrazů hodnot nebo výsledku dotazu.

Syntaxe

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

Parametry

  • directory_path

    Cílový adresář. Klíčové LOCAL slovo určuje, že adresář je v místním systému souborů.

  • row_format

    Formát řádku pro toto vložení. Platné možnosti jsou SERDE klauzule a DELIMITED klauzule. SERDE klauzule se dá použít k určení vlastního SerDe prvku pro toto vložení. Alternativně DELIMITED lze klauzuli použít k určení nativního SerDe a stav oddělovače, řídicího znaku, znaku null atd.

  • file_format

    Formát souboru pro toto vložení. Platné možnosti jsou TEXTFILE, , RCFILESEQUENCEFILE, ORC, PARQUET, a AVRO. Můžete také zadat vlastní vstupní a výstupní formát pomocí INPUTFORMAT a OUTPUTFORMAT. ROW FORMAT SERDElze použít pouze s , nebo , zatímco ROW FORMAT DELIMITED lze použít pouze s TEXTFILE.RCFILESEQUENCEFILETEXTFILE

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

    Hodnoty, které se mají vložit. Můžete vložit explicitně zadanou hodnotu nebo hodnotu NULL. Čárka musí být použita k oddělení každé hodnoty v klauzuli. Pro vložení více řádků lze zadat více než jednu sadu hodnot.

  • query

    Dotaz, který vytvoří řádky, které se mají vložit. Jeden z následujících formátů:

    • Příkaz A SELECT
    • Příkaz A TABLE
    • Příkaz A FROM

Příklady

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;