INSERT OVERWRITE DIRECTORY met Hive-indeling
Van toepassing op: 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 invoeging. Geldige opties zijn
SERDE
component enDELIMITED
component.SERDE
clausule kan worden gebruikt om een aangepasteSerDe
voor deze invoeging op te geven. U kunt ookDELIMITED
een component gebruiken om het systeemeigen en de statusSerDe
van het scheidingsteken, escapeteken, null-teken, enzovoort op te geven.file_format
De bestandsindeling voor deze invoeging. Geldige opties zijn
TEXTFILE
,SEQUENCEFILE
,RCFILE
, ,ORC
enPARQUET
AVRO
. U kunt ook uw eigen invoer- en uitvoerindeling opgeven met enINPUTFORMAT
OUTPUTFORMAT
.ROW FORMAT SERDE
kan alleen worden gebruikt metTEXTFILE
,SEQUENCEFILE
ofRCFILE
, terwijlROW FORMAT DELIMITED
alleen kan worden gebruikt metTEXTFILE
.VALUES ( { waarde | 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
- Een
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;