Поделиться через


ЗАГРУЗКА ДАННЫХ

Область применения:проверка помечена да Databricks Runtime

Загружает данные в таблицу Hive SerDe из указанного пользователем каталога или файла. Если указан каталог, загружаются все файлы из каталога. Если указан файл, загружается только один файл. Кроме того, инструкция LOAD DATA принимает необязательную спецификацию секции. При указании секции файлы данных (если входной источник является каталогом) или один файл (если входной источник является файлом) загружаются в раздел целевой таблицы.

Если таблица кэширована, команда очищает кэшированные данные таблицы и всех ее зависимых элементов, которые на нее ссылаются. Кэш будет отложенно заполняться при следующем обращении к таблице или зависимым ресурсам.

Синтаксис

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

Параметры

  • Путь

    Путь к файловой системе. Это может быть абсолютный или относительный путь.

  • table_name

    Определяет таблицу для вставки. Имя не должно включать темпоральную спецификацию. Если таблица не найдена, Azure Databricks вызывает ошибку TABLE_OR_VIEW_NOT_FOUND .

  • Предложение PARTITION

    Необязательный параметр, указывающий целевую секцию для вставки. Можно также лишь частично указать секцию.

  • МЕСТНЫХ

    Если он указан, это приводит к разрешению INPATH в локальной файловой системе, а не в файловой системе по умолчанию, которая обычно является распределенным хранилищем.

  • ПЕРЕЗАПИСАТЬ

    По умолчанию новые данные добавляются в таблицу. Если OVERWRITE используется , таблица перезаписывается новыми данными.

Примеры

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