Directorio de artículos
Almacén de datosHive
- Basado en:
ejecutor Mapreduce
almacenamiento de datos HDFS
almacenamiento de metadatos base de datos relacional
* Principio de arquitectura
-
Definición de metatabla
, tabla y asignación de HDFS
Los metadatos incluyen: nombre de la tabla, nombre del campo, tipo de campo, ruta del archivo HDFS asociado, etc. Metainformación de estas bases de datos -
Almacenamiento de datos
Datos: almacenados en HDFS -
El proceso de consulta
recibe instrucciones del usuario (SQL), usa su propio controlador, combina metadatos (MetaStore), traduce estas instrucciones a MapReduce, las envía a Hadoop para su ejecución y finalmente envía los resultados devueltos por la ejecución a la interfaz de interacción del usuario.
DDL
operaciones de biblioteca y tabla
Mesa interior y mesa exterior
-
Tabla de gestión,
eliminación de tabla interna: se eliminarán tanto los metadatos como HDFS -
Eliminar tabla externa : eliminar solo metadatos
* Tabla de particiones
(Múltiples archivos se clasifican en diferentes directorios)
-
Antecedentes
La cantidad de datos en la tabla es demasiado grande y la ruta de almacenamiento se almacena en particiones para evitar un análisis completo al realizar consultas. -
Principio:
la partición de la colmena consiste en dividir el directorio. Almacenar datos en subdirectorios. -
Uso común:
según la partición de fecha, cree algunos directorios de fecha, cada directorio contiene los datos del día
partición secundaria
Partición por día y luego partición por hora
partición dinámica
mesa de cubo
(Un archivo se divide en varios archivos para su almacenamiento)
El único archivo de datos de la tabla y la partición es demasiado grande.
Realice una división más detallada del rango de datos y clasifique el archivo de datos.
Importación y exportación de datos
Importar datos seleccionados cuando AS SELECT crea una tabla
create table 'table_name1'
as select xxx from 'table_name2'
Cargue la ruta de datos al crear una tabla en LOCATION
create table 'table_name' (field)
location '/data_path'
- INSERTAR Insertar datos
-- 追加
insert into table 'table_name' values('value');
-- 覆盖
insert overwrite table 'table_name' values('value');
-- 插入到本地 = 导出
insert overwrite local directory 'local_path' select * from 'table_name'
-- 插入到HDFS
insert overwrite directory 'hdfs_path' select * from 'table_name'
- LOAD ruta de datos de carga
load data [local] inpath '/data_path' [overwrite] into table 'table_name' [partition]
- EXPORTAR IMPORTAR
DML
SELECCIONES y FILTROS
AGRUPADOS POR
unirse
flujo de inserción multitabla