INSERT OVERWRITE DIRECTORY con formato de Hive

Se aplica a:casilla marcada como Sí Databricks Runtime

Sobrescribe los datos existentes en el directorio con los nuevos valores utilizando Hive SerDe. El soporte de Hive debe estar habilitado para usar este comando. Se especifican 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

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

  • row_format

    El formato de fila para esta inserción. Las opciones válidas son la cláusula SERDE y la cláusula DELIMITED. La cláusula SERDE se puede usar para especificar un SerDe personalizado para esta inserción. Como alternativa, la cláusula DELIMITED se puede usar para especificar el delimitador nativo SerDe y el estado del delimitador, el carácter de escape, el carácter nulo, y así sucesivamente.

  • file_format

    El 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 utilizando INPUTFORMAT y OUTPUTFORMAT. ROW FORMAT SERDE solo se puede usar con TEXTFILE, SEQUENCEFILE o RCFILE, mientras que ROW FORMAT DELIMITED solo se puede usar con TEXTFILE.

  • VALUES ( { 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 de 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 instrucción SELECT
    • Una instrucción TABLE
    • Una instrucción FROM

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;