Recherche…


Syntaxe

  • Syntaxe standard:

  • INSERT OVERWRITE TABLE nomtable1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [IF NOT EXISTS]] select_statement1 FROM from_statement;

  • INSERT INTO TABLE nomtable1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] select_statement1 FROM from_statement;

  • INSERT INTO TABLE nomtable1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] (z, y) select_statement1 FROM from_statement;

  • Extension de ruche (insertions multiples):

  • FROM from_statement
    INSERT OVERWRITE TABLE nomtable1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [SI PAS EXISTE]] select_statement1
    [INSERT OVERWRITE TABLE nomtable2 [PARTITION ... [SI N'EXISTE PAS]] select_statement2]
    [INSERT INTO TABLE nomtable2 [PARTITION ...] select_statement2] ...;

  • FROM from_statement
    INSERT INTO TABLE nomtable1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] select_statement1
    [INSERT INTO TABLE nomtable2 [PARTITION ...] select_statement2]
    [INSERT OVERWRITE TABLE nomtable2 [PARTITION ... [SI N'EXISTE PAS]] select_statement2] ...;

  • Extension Hive (insertions de partition dynamiques):

  • INSERT OVERWRITE TABLE nom_table PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;

  • INSERT INTO TABLE nom_table PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;

Remarques

insérer écraser
Une instruction d'insertion d'insertion supprime tous les fichiers existants dans la table ou la partition cible avant d'ajouter de nouveaux fichiers basés sur l'instruction select utilisée. Notez que lorsque des modifications de structure sont apportées à une table ou au DML utilisé pour charger la table, les anciens fichiers ne sont parfois pas supprimés. Lors du chargement dans une table à l'aide du partitionnement dynamique, seules les partitions définies par l'instruction select seront remplacées. Toutes les partitions préexistantes dans la cible resteront et ne seront pas supprimées.

insérer dans
Une instruction insert in ajoute de nouvelles données dans une table cible en fonction de l'instruction select utilisée.

insérer écraser

insert overwrite table yourTargetTable select * from yourSourceTable;

Insérer dans le tableau

INSERT INTO va ajouter à la table ou à la partition, en conservant les données existantes intactes.

    INSERT INTO table yourTargetTable SELECT * FROM yourSourceTable;

Si une table est partitionnée, nous pouvons insérer dans cette partition particulière de manière statique, comme indiqué ci-dessous.

    INSERT INTO TABLE yourTargetTable PARTITION (state=CA, city=LIVERMORE) 
    select * FROM yourSourceTable;

Si une table est partitionnée, nous pouvons insérer dans cette partition particulière de manière dynamique, comme indiqué ci-dessous. Pour effectuer des insertions de partition dynamique, vous devez définir les propriétés ci-dessous.

    Dynamic Partition inserts are disabled by default. These are the relevant configuration properties for dynamic partition inserts:
    SET hive.exec.dynamic.partition=true;
    SET hive.exec.dynamic.partition.mode=non-strict

    INSERT INTO TABLE yourTargetTable PARTITION (state=CA, city=LIVERMORE) (date,time)
    select * FROM yourSourceTable;

Insertion multiple dans une table.

Extension de ruche (insertions multiples):

    FROM table_name

    INSERT OVERWRITE TABLE table_one SELECT table_name.column_one,table_name.column_two

    INSERT OVERWRITE TABLE table_two SELECT table_name.column_two WHERE table_name.column_one == 'something'


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow