hive
Anweisung einfügen
Suche…
Syntax
Standardsyntax:
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [WENN NICHT EXISTS]] select_statement1 FROM from_statement;
INSERT INTO TABLE tabellenname1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] select_statement1 FROM from_statement;
INSERT INTOABLE tabellenname1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] (z, y) select_statement1 FROM from_statement;
Hive-Erweiterung (mehrere Einfügungen):
FROM from_statement
INSERT OVERWRITE TABLE tabellenname1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [IF NOT EXISTS]] select_statement1
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2]
[INSERT INTO TABLE tabellenname2 [PARTITION ...] select_statement2] ...;FROM from_statement
INSERT INTO TABLE tabellenname1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] select_statement1
[INSERT INTO TABLE tabellenname2 [PARTITION ...] select_statement2]
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2] ...;Hive-Erweiterung (Einfügen dynamischer Partitionen):
INSERT OVERWRITE TABLE Tabellenname PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;
INSERT INTO TABLE Tabellenname PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;
Bemerkungen
Überschreiben einfügen
Mit einer Überschreibanweisung zum Einfügen werden alle vorhandenen Dateien in der Zieltabelle oder -partition gelöscht, bevor neue Dateien basierend auf der verwendeten select-Anweisung hinzugefügt werden. Beachten Sie, dass bei Strukturänderungen an einer Tabelle oder an der zum Laden der Tabelle verwendeten DML die alten Dateien manchmal nicht gelöscht werden. Beim Laden in eine Tabelle mit dynamischer Partitionierung werden nur die durch die select-Anweisung definierten Partitionen überschrieben. Vorhandene Partitionen im Ziel bleiben erhalten und werden nicht gelöscht.
einfügen in
Eine Einfügung in eine Anweisung hängt neue Daten in einer Zieltabelle an, die auf der verwendeten select-Anweisung basiert.
Überschreiben einfügen
insert overwrite table yourTargetTable select * from yourSourceTable;
In die Tabelle einfügen
INSERT INTO wird an die Tabelle oder Partition angehängt, wobei die vorhandenen Daten erhalten bleiben.
INSERT INTO table yourTargetTable SELECT * FROM yourSourceTable;
Wenn eine Tabelle partitioniert ist, können wir diese Partition statisch einfügen, wie unten gezeigt.
INSERT INTO TABLE yourTargetTable PARTITION (state=CA, city=LIVERMORE)
select * FROM yourSourceTable;
Wenn eine Tabelle partitioniert ist, können wir sie wie unten gezeigt dynamisch in diese Partition einfügen. Um dynamische Partitionseinsätze durchzuführen, müssen Sie die folgenden Eigenschaften festlegen.
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;
Mehrere Einfügungen in eine Tabelle.
Hive-Erweiterung (mehrere Einfügungen):
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'