Bagikan melalui


LOAD DATA

Berlaku untuk:centang ditandai ya Databricks Runtime

Memuat data ke dalam tabel Apache Hive SerDe dari direktori atau file yang ditentukan pengguna. Jika direktori ditentukan maka semua file dari direktori dimuat. Jika file ditentukan maka hanya file tunggal yang dimuat. Selain itu pernyataan LOAD DATA mengambil spesifikasi partisi opsional. Ketika partisi ditentukan, file data (ketika sumber input adalah direktori) atau file tunggal (ketika sumber input adalah file) dimuat ke dalam partisi tabel target.

Jika tabel di-cache, perintah menghapus data tabel yang di-cache dan semua dependennya yang merujuk ke tabel tersebut. Cache akan diisi secara bertahap ketika tabel atau dependen diakses saat berikutnya.

Sintaks

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

Parameter-parameternya

  • jalan

    Jalur sistem file. Ini bisa berupa jalur absolut atau relatif.

  • table_name

    Mengidentifikasi tabel ke mana data akan disisipkan. Nama tidak boleh menyertakan spesifikasi temporal atau spesifikasi opsi. Jika tabel tidak dapat ditemukan, Azure Databricks menimbulkan kesalahan TABLE_OR_VIEW_NOT_FOUND.

  • PARTITION klausa

    Parameter opsional yang menentukan partisi target untuk penyisipan. Anda juga hanya dapat menentukan partisi secara parsial.

  • LOKAL

    Jika ditentukan, itu menyebabkan INPATH diselesaikan terhadap sistem file lokal, bukan sistem file bawaan, yang biasanya merupakan penyimpanan terdistribusi.

  • MENIMPA

    Secara default, data baru ditambahkan ke tabel. Jika OVERWRITE digunakan, tabel akan digantikan oleh data baru.

Contoh

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