INSERIR DIRETÓRIO OVERWRITE com formato Hive

Substitui os dados existentes no diretório com os novos valores utilizando a Hive SerDe . O suporte da colmeia deve ser ativado para utilizar este comando. Especifica as linhas inseridas por expressões de valor ou o resultado de uma consulta.

Sintaxe

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

Parâmetros

  • directory_path

    O diretório de destino. A LOCAL palavra-chave especifica que o diretório está no sistema de ficheiros local.

  • row_format

    O formato de linha para este inserção. Opções válidas são SERDE cláusula e DELIMITED cláusula. SERDE a cláusula pode ser usada para especificar um costume SerDe para esta inserção. Alternativamente, DELIMITED a cláusula pode ser usada para especificar o nativo e indicar o SerDe delimiter, o caráter de fuga, o carácter nulo, e assim por diante.

  • file_format

    O formato de ficheiro para esta inserção. As opções válidas TEXTFILE são, SEQUENCEFILE , , , e RCFILE ORC PARQUET AVRO . Também pode especificar o seu próprio formato de entrada e saída utilizando INPUTFORMAT e OUTPUTFORMAT . ROW FORMAT SERDE só podem ser utilizados com TEXTFILE SEQUENCEFILE , RCFILE ou, enquanto ROW FORMAT DELIMITED só podem ser utilizados com TEXTFILE .

  • VALORES ( { valor / NU} [ ... ] [ , ( ... ) ]

    Os valores a inserir. Pode inserir-se um valor explicitamente especificado ou um NU. Uma vírgula deve ser usada para separar cada valor da cláusula. Mais de um conjunto de valores pode ser especificado para inserir várias linhas.

  • consulta

    Uma consulta que produz as linhas a serem inseridas. Um dos seguintes formatos:

    • Uma SELECT declaração
    • Uma TABLE declaração
    • Uma FROM declaração

Exemplos

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;