Zoeken…


Syntaxis

  • Standaard syntaxis:

  • PLAATS OVERWRITE TABLE tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [INDIEN NIET BESTAAT]] select_statement1 FROM from_statement;

  • PLAATS IN TABEL tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] select_statement1 FROM from_statement;

  • PLAATS IN TABEL tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...)] (z, y) select_statement1 FROM from_statement;

  • Hive-extensie (meerdere inzetstukken):

  • FROM from_statement
    PLAATS OVERWRITE TABLE tablename1 [PARTITION (partcol1 = val1, partcol2 = val2 ...) [INDIEN NIET BESTAAT]] select_statement1
    [PLAATS OVERWRITE TABLE tabelnaam2 [PARTITIE ... [INDIEN NIET BESTAAT]] select_statement2]
    [PLAATS IN TABEL tabelnaam2 [PARTITIE ...] select_statement2] ...;

  • FROM from_statement
    PLAATS IN TABEL tabelnaam1 [PARTITIE (partcol1 = val1, partcol2 = val2 ...)] select_statement1
    [PLAATS IN TABEL tabelnaam2 [PARTITIE ...] select_statement2]
    [PLAATS OVERWRITE TABLE tabelnaam2 [PARTITIE ... [INDIEN NIET BESTAAT]] select_statement2] ...;

  • Hive-extensie (dynamische partitie-invoegingen):

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

  • PLAATS IN TABEL tabelnaam PARTITION (partcol1 [= val1], partcol2 [= val2] ...) select_statement FROM from_statement;

Opmerkingen

overschrijven invoegen
Een instructie voor overschrijven invoegen verwijdert alle bestaande bestanden in de doeltabel of partitie voordat nieuwe bestanden worden toegevoegd op basis van de geselecteerde instructie. Merk op dat wanneer er structuurwijzigingen zijn in een tabel of in de DML die wordt gebruikt om de tabel te laden, soms de oude bestanden niet worden verwijderd. Bij het laden naar een tabel met dynamische partities worden alleen partities die zijn gedefinieerd door de select-opdracht overschreven. Bestaande partities in het doel blijven behouden en worden niet verwijderd.

invoegen in
Een invoeging in een instructie voegt nieuwe gegevens toe aan een doeltabel op basis van de geselecteerde instructie.

overschrijven invoegen

insert overwrite table yourTargetTable select * from yourSourceTable;

Invoegen in tabel

INSERT INTO wordt toegevoegd aan de tabel of partitie en houdt de bestaande gegevens intact.

    INSERT INTO table yourTargetTable SELECT * FROM yourSourceTable;

Als een tabel is gepartitioneerd, kunnen we die statische partitie op statische wijze invoegen, zoals hieronder wordt weergegeven.

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

Als een tabel is gepartitioneerd, kunnen we die dynamische partitie op dynamische wijze invoegen, zoals hieronder wordt weergegeven. Om dynamische partitie-inserts uit te voeren, moeten we onderstaande eigenschappen instellen.

    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;

Meerdere inzetten in vanuit een tabel.

Hive-extensie (meerdere inzetstukken):

    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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow