Delen via


INSERT OVERWRITE DIRECTORY in Hive-indeling

Van toepassing op: vinkje als ja aan Databricks Runtime

Overschrijft de bestaande gegevens in de map met de nieuwe waarden met behulp van Hive SerDe. Hive-ondersteuning moet zijn ingeschakeld om deze opdracht te kunnen gebruiken. U geeft de ingevoegde rijen op waardeexpressies of het resultaat van een query op.

Syntaxis

INSERT OVERWRITE [ LOCAL ] DIRECTORY directory_path
    [ ROW FORMAT row_format ] [ STORED AS file_format ]
    { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }

Parameters

  • directory_path

    De doelmap. Het LOCAL trefwoord geeft aan dat de map zich op het lokale bestandssysteem bevindt.

  • row_format

    De rijopmaak voor deze invoegpositie. Geldige opties zijn SERDE component en DELIMITED component. SERDE component kan worden gebruikt om een aangepaste SerDe voor deze invoeging op te geven. U kunt ook DELIMITED een component gebruiken om het systeemeigen en de status SerDe van het scheidingsteken, escapeteken, null-teken, enzovoort op te geven.

  • file_format

    De bestandsindeling voor deze invoegpositie. Geldige opties zijnTEXTFILE, SEQUENCEFILE, RCFILE, , ORCen AVROPARQUET. U kunt ook uw eigen invoer- en uitvoerindeling opgeven met en INPUTFORMAT OUTPUTFORMAT. ROW FORMAT SERDE kan alleen worden gebruikt met TEXTFILE, SEQUENCEFILEof RCFILE, terwijl ROW FORMAT DELIMITED alleen kan worden gebruikt met TEXTFILE.

  • VALUES ( { value | NULL } [ , ... ] ) [ , ( … ) ]

    De waarden die moeten worden ingevoegd. Een expliciet opgegeven waarde of een NULL kan worden ingevoegd. Er moet een komma worden gebruikt om elke waarde in de component te scheiden. Er kunnen meerdere waarden worden opgegeven om meerdere rijen in te voegen.

  • query

    Een query die de rijen produceert die moeten worden ingevoegd. Een van de volgende indelingen:

    • Een SELECT instructie
    • Een TABLE instructie
    • Een FROM instructie

Voorbeelden

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;