GEGEVENS LADEN

Van toepassing op:gemarkeerd als ja Databricks Runtime

Laadt de gegevens in een Hive SerDe-tabel vanuit de door de gebruiker opgegeven map of bestand. Als een map is opgegeven, worden alle bestanden uit de map geladen. Als er een bestand is opgegeven, wordt alleen het ene bestand geladen. Daarnaast wordt voor de LOAD DATA instructie een optionele partitiespecificatie gebruikt. Wanneer een partitie wordt opgegeven, worden de gegevensbestanden (wanneer de invoerbron een map is) of het enkele bestand (wanneer de invoerbron een bestand is) in de partitie van de doeltabel geladen.

Als de tabel in de cache is opgeslagen, worden met de opdracht gegevens in de cache gewist van de tabel en alle afhankelijke items die ernaar verwijzen. De cache wordt langzaam gevuld wanneer de volgende keer de tabel of de afhankelijke items worden geopend.

Syntaxis

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_name [ PARTITION clause ]

Parameters

  • Pad

    Pad van het bestandssysteem. Dit kan een absoluut of een relatief pad zijn.

  • Table_name

    Identificeert de tabel die moet worden ingevoegd. De naam mag geen tijdelijke specificatie bevatten. Als de tabel niet kan worden gevonden, genereert Azure Databricks een TABLE_OR_VIEW_NOT_FOUND-fout .

  • PARTITION-component

    Een optionele parameter waarmee een doelpartitie voor de insert wordt opgegeven. U kunt de partitie ook slechts gedeeltelijk opgeven.

  • LOKALE

    Indien opgegeven, zorgt dit ervoor dat de INPATH wordt omgezet op basis van het lokale bestandssysteem, in plaats van het standaardbestandssysteem, dat meestal een gedistribueerde opslag is.

  • OVERSCHRIJVEN

    Standaard worden nieuwe gegevens aan de tabel toegevoegd. Als OVERWRITE wordt gebruikt, wordt de tabel in plaats daarvan overschreven met nieuwe gegevens.

Voorbeelden

-- Example without partition specification.
-- Assuming the students table has already been created and populated.
> SELECT * FROM students;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

> CREATE TABLE test_load (name VARCHAR(64), address VARCHAR(64), student_id INT) USING HIVE;

-- Assuming the students table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;

> SELECT * FROM test_load;
      name                address student_id
 --------- ---------------------- ----------
 Amy Smith 123 Park Ave, San Jose     111111

-- Example with partition specification.
> CREATE TABLE test_partition (c1 INT, c2 INT, c3 INT) PARTITIONED BY (c2, c3);

> INSERT INTO test_partition PARTITION (c2 = 2, c3 = 3) VALUES (1);

> INSERT INTO test_partition PARTITION (c2 = 5, c3 = 6) VALUES (4);

> INSERT INTO test_partition PARTITION (c2 = 8, c3 = 9) VALUES (7);

> SELECT * FROM test_partition;
  c1  c2  c3
 --- --- ---
   1   2   3
   4   5   6
   7   8   9

> CREATE TABLE test_load_partition (c1 INT, c2 INT, c3 INT) USING HIVE PARTITIONED BY (c2, c3);

-- Assuming the test_partition table is in '/user/hive/warehouse/'
> LOAD DATA LOCAL INPATH '/user/hive/warehouse/test_partition/c2=2/c3=3'
      OVERWRITE INTO TABLE test_load_partition PARTITION (c2=2, c3=3);

> SELECT * FROM test_load_partition;
  c1  c2  c3
 --- --- ---
   1   2   3