INSERT OVERWRITE DIRECTORY con formato de Hive

Sobrescribe los datos existentes en el directorio con los nuevos valores mediante Hive SerDe . La compatibilidad con Hive debe estar habilitada para usar este comando. Especifique las filas insertadas por expresiones de valor o el resultado de una consulta.

Sintaxis

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

Parámetros

  • directory_path

    Directorio de destino. La LOCAL palabra clave especifica que el directorio está en el sistema de archivos local.

  • row_format

    Formato de fila de esta inserción. Las opciones válidas son la SERDE cláusula y la DELIMITED cláusula. SERDE la cláusula se puede utilizar para especificar un personalizado SerDe para esta inserción. Como alternativa, DELIMITED se puede utilizar la cláusula para especificar el nativo SerDe y el estado del delimitador, carácter de escape, carácter nulo, etc.

  • file_format

    Formato de archivo para esta inserción. Las opciones válidas son TEXTFILE ,, SEQUENCEFILE RCFILE , ORC , PARQUET y AVRO . También puede especificar su propio formato de entrada y salida mediante INPUTFORMAT y OUTPUTFORMAT . ROW FORMAT SERDE solo se puede usar con TEXTFILE , SEQUENCEFILE o RCFILE , mientras ROW FORMAT DELIMITED que solo se puede usar con TEXTFILE .

  • VALORES ({Value | NULL} [,...]) [ , ( ... ) ]

    Valores que se van a insertar. Se puede insertar un valor especificado explícitamente o un valor NULL. Se debe usar una coma para separar cada valor en la cláusula. Se puede especificar más de un conjunto de valores para insertar varias filas.

  • consulta

    Consulta que genera las filas que se van a insertar. Uno de los siguientes formatos:

    • Una SELECT instrucción
    • Una TABLE instrucción
    • Una FROM instrucción

Ejemplos

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;