LOAD DATA
Se aplica a: 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.
-
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.
-
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