Compartir vía


LOAD DATA

Se aplica a: casilla marcada como Sí Databricks Runtime

Carga los datos en una tabla SerDe de Hive desde el directorio o archivo especificado por el usuario. Si se especifica un directorio, se cargan todos los archivos del directorio. Si se especifica un archivo, solo se carga el único archivo. Además, la instrucción LOAD DATA toma una especificación de partición opcional. Cuando se especifica una partición, los archivos de datos (cuando el origen de entrada es un directorio) o el único archivo (cuando el origen de entrada es un archivo) se cargan en la partición de la tabla de destino.

Si la tabla se almacena en caché, el comando borra los datos almacenados en caché de la tabla y todos los elementos dependientes que hacen referencia a ella. La memoria caché se rellenará en diferido cuando se acceda a la tabla o a los elementos dependientes la próxima vez.

Sintaxis

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

Parámetros

  • path

    Ruta de acceso del sistema de archivos. Puede ser una ruta de acceso absoluta o relativa.

  • table_name

    Identifica la tabla en la que se va a insertar. El nombre no debe incluir una especificación temporal. Si no se encuentra la tabla, Azure Databricks genera un error TABLE_OR_VIEW_NOT_FOUND.

  • Cláusula PARTITION

    Parámetro opcional que especifica una partición de destino para la inserción. También puede especificar parcialmente la partición.

  • LOCAL

    Si se especifica, hace que INPATH se resuelva en el sistema de archivos local, en lugar del sistema de archivos predeterminado, que suele ser un almacenamiento distribuido.

  • OVERWRITE

    De forma predeterminada, los nuevos datos se anexan a la tabla. Si se usa OVERWRITE, la tabla se sobrescribe con datos nuevos.

Ejemplos

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