INSERT OVERWRITE DIRECTORY con formato de Hive
Se aplica a: 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áusulaDELIMITED
. La cláusulaSERDE
se puede usar para especificar unSerDe
personalizado para esta inserción. Como alternativa, la cláusulaDELIMITED
se puede usar para especificar el delimitador nativoSerDe
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
yAVRO
. También puede especificar su propio formato de entrada y salida utilizandoINPUTFORMAT
yOUTPUTFORMAT
.ROW FORMAT SERDE
solo se puede usar conTEXTFILE
,SEQUENCEFILE
oRCFILE
, mientras queROW FORMAT DELIMITED
solo se puede usar conTEXTFILE
.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
- Una 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;