Megosztás a következőn keresztül:


LOAD DATA

A következőkre vonatkozik: jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Betölti az adatokat egy Hive SerDe-táblába a felhasználó által megadott könyvtárból vagy fájlból. Ha meg van adva egy könyvtár, a rendszer betölti a könyvtárból származó összes fájlt. Ha egy fájl meg van adva, akkor csak az egyetlen fájl töltődik be. Az utasítás emellett LOAD DATA egy opcionális partíciós specifikációt is alkalmaz. Partíció megadásakor a rendszer betölti az adatfájlokat (ha a bemeneti forrás könyvtár), vagy az egyetlen fájlt (ha a bemeneti forrás egy fájl) a céltábla partíciójába.

Ha a tábla gyorsítótárazva van, a parancs törli a tábla gyorsítótárazott adatait és az arra hivatkozó összes függőt. A gyorsítótár lazán meg lesz töltve, amikor a tábla vagy a függők legközelebb hozzáférnek.

Syntax

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

Paraméterek

  • ösvény

    A fájlrendszer elérési útja. Lehet abszolút vagy relatív elérési út.

  • table_name

    Azonosítja a beszúrni kívánt táblát. A név nem tartalmazhat időbeli specifikációt. Ha a tábla nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát jelez.

  • PARTITION záradék

    Nem kötelező paraméter, amely meghatározza a beszúrás célpartícióját. A partíciót is csak részben adhatja meg.

  • HELYI

    Ha meg van adva, akkor az INPATH alapértelmezett fájlrendszer helyett a helyi fájlrendszert kell feloldani, amely általában elosztott tároló.

  • FELÜLÍRJA

    Alapértelmezés szerint az új adatok hozzá lesznek fűzve a táblához. Ha OVERWRITE ezt használja, a rendszer felülírja a táblát új adatokkal.

Példák

-- 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