Udostępnij za pośrednictwem


INSERT OVERWRITE DIRECTORY z formatem Hive

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zastępuje istniejące dane w katalogu nowymi wartościami przy użyciu programu Hive SerDe. Aby można było używać tego polecenia, należy włączyć obsługę programu Hive. Należy określić wstawione wiersze według wyrażeń wartości lub wyniku zapytania.

Składnia

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

Parametry

  • directory_path

    Katalog docelowy. Słowo LOCAL kluczowe określa, że katalog znajduje się w lokalnym systemie plików.

  • row_format

    Format wiersza dla tej wstawki. Prawidłowe opcje to SERDE klauzula i DELIMITED klauzula. SERDE Klauzuli można użyć do określenia niestandardowego SerDe dla tej wstawki. Alternatywnie można użyć klauzuli DELIMITED, aby określić natywne SerDe i wskazać ogranicznik, znak ucieczki, znak null itd.

  • file_format

    Format pliku dla tej wstawki. Prawidłowe opcje to TEXTFILE, , SEQUENCEFILE, RCFILEORC, PARQUET, i AVRO. Możesz również określić własny format danych wejściowych i wyjściowych przy użyciu funkcji INPUTFORMAT i OUTPUTFORMAT. ROW FORMAT SERDE można używać tylko z TEXTFILE, SEQUENCEFILE lub RCFILE, podczas gdy ROW FORMAT DELIMITED można używać tylko z TEXTFILE.

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

    Wartości do wstawienia. Można wstawić jawnie określoną wartość lub wartość NULL. Przecinek musi być używany do oddzielania każdej wartości w klauzuli . Można określić więcej niż jeden zestaw wartości, aby wstawić wiele wierszy.

  • query

    Zapytanie, które generuje wiersze do wstawienia. Jeden z następujących formatów:

    • Instrukcja SELECT
    • Instrukcja TABLE
    • Instrukcja FROM

Przykłady

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;