Udostępnij za pośrednictwem


LOAD DATA

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Ładuje dane do tabeli Hive SerDe z określonego katalogu lub pliku użytkownika. Jeśli zostanie określony katalog, wszystkie pliki z katalogu zostaną załadowane. Jeśli zostanie określony plik, zostanie załadowany tylko jeden plik. Ponadto instrukcja LOAD DATA przyjmuje opcjonalną specyfikację partycji. Po określeniu partycji pliki danych (gdy źródło wejściowe jest katalogiem) lub pojedynczy plik (gdy źródło wejściowe jest plikiem) są ładowane do partycji tabeli docelowej.

Jeśli tabela jest buforowana, polecenie czyści buforowane dane tabeli i wszystkie jej zależności, które się do niej odwołują. Pamięć podręczna zostanie wypełniona z opóźnieniem, gdy tabela lub zależności będą uzyskiwane przy następnym dostępie.

Składnia

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

Parametry

  • path

    Ścieżka systemu plików. Może to być ścieżka bezwzględna lub względna.

  • table_name

    Identyfikuje tabelę do wstawienia. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji. Jeśli nie można odnaleźć tabeli usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .

  • KLAUZULA PARTITION

    Opcjonalny parametr określający partycję docelową dla wstawiania. Można również częściowo określić partycję.

  • LOKALNY

    Jeśli zostanie określony, spowoduje INPATH to rozwiązanie problemu z lokalnym systemem plików zamiast domyślnego systemu plików, który jest zazwyczaj magazynem rozproszonym.

  • ZASTĄPIĆ

    Domyślnie nowe dane są dołączane do tabeli. Jeśli OVERWRITE jest używana, tabela jest zamiast tego zastępowana nowymi danymi.

Przykłady

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