Partager via


INSERT OVERWRITE DIRECTORY avec le format Hive

S’applique à : coche marquée oui 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 et DELIMITED. La clause SERDE permet de spécifier un SerDe personnalisé pour cette insertion. Vous pouvez également utiliser la clause DELIMITED pour spécifier le SerDe 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 et AVRO. 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é avec TEXTFILE, SEQUENCEFILE ou RCFILE, tandis que ROW FORMAT DELIMITED n’est utilisable qu’avec TEXTFILE.

  • 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

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;