INSERT OVERWRITE DIRECTORY avec le format Hive
S’applique à : Databricks Runtime
Remplace les données existantes du répertoire par les nouvelles valeurs à l’aide de SerDe
Hive.
Vous devez activer la prise en charge de Hive pour pouvoir utiliser cette commande. Vous spécifiez les lignes insérées par des expressions de valeur ou le résultat d’une requête.
Syntaxe
INSERT OVERWRITE [ LOCAL ] DIRECTORY directory_path
[ ROW FORMAT row_format ] [ STORED AS file_format ]
{ VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
Paramètres
directory_path
Répertoire de destination. Le mot clé
LOCAL
spécifie que le répertoire se trouve sur le système de fichiers local.row_format
Format de ligne de l’insertion. Les options valides sont les clauses
SERDE
etDELIMITED
. La clauseSERDE
permet de spécifier unSerDe
personnalisé pour cette insertion. Vous pouvez également utiliser la clauseDELIMITED
pour spécifier leSerDe
natif et indiquer le délimiteur, le caractère d’échappement, le caractère Null, etc.file_format
Format de fichier de l’insertion. Les options valides sont
TEXTFILE
,SEQUENCEFILE
,RCFILE
,ORC
,PARQUET
etAVRO
. Vous pouvez également spécifier vos propres formats d’entrée et de sortie à l’aide d’INPUTFORMAT
et d’OUTPUTFORMAT
.ROW FORMAT SERDE
peut seulement être employé avecTEXTFILE
,SEQUENCEFILE
ouRCFILE
, tandis queROW FORMAT DELIMITED
n’est utilisable qu’avecTEXTFILE
.VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ]
Valeurs à insérer. Vous pouvez insérer une valeur spécifiée explicitement ou une valeur NULL. Une virgule doit être utilisée pour séparer les valeurs dans la clause. Vous pouvez spécifier plusieurs jeux de valeurs pour insérer plusieurs lignes.
query
Requête qui produit les lignes à insérer. Les formats possibles sont les suivants :
- Instruction
SELECT
- Instruction
TABLE
- Instruction
FROM
- Instruction
Exemples
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;