hive
Insérer un relevé
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'