Ejemplos del comando de inserción de la colmena

Una colmena LMD comando para explorar es la INSERTAR mando. Es, básicamente, tiene tres INSERTAR variantes- dos de ellos se muestran en el siguiente listado. Para demostrar este nuevo comando DML, va a crear una nueva tabla que contendrá un subconjunto de los datos en el FlightInfo2008 mesa.

(UN) CREAR TABLA SI NO EXISTE myFlightInfo (año SMALLINT, DontQueryMonth TINYINT, DAYOFMONTH TINYINT, DayOfWeek TINYINT, DepTime SMALLINT, ArrTime SMALLINT, UniqueCarrier CADENA, FlightNum CADENA, AirTime SMALLINT, ArrDelay SMALLINT, DepDelay SMALLINT, CADENA Origen, Destino CADENA, Cancelan SMALLINT, CancellationCode CADENA) COMENTARIO `Vuelo InfoTable`PARTITIONED POR (Mes TINYINT) formato de fila DELIMITEDFIELDS terminado por`, "LÍNEAS terminados en `n`(SEGUNDO) Almacenan como RCFILETBLPROPERTIES ( `creador` = `Bruce Brown`, `created_at` = `Lun Sep 2 14:24:19 EDT 2013`) -(DO) INSERTAR TABLA SOBRESCRIBIR myflightinfoPARTITION (Mes = 1) seleccionar año, mes, DAYOFMONTH, DayOfWeek, DepTime, ArrTime, UniqueCarrier, FlightNum, tiempo de conexión, ArrDelay, DepDelay, Origen, Destino, Cancelado, CancellationCodeFROM FlightInfo2008 donde el mes = 1-(RE) DE FlightInfo2008INSERT INTO TABLE myflightinfoPARTITION (Mes = 2) seleccionar el año, mes, DAYOFMONTH, DayOfWeek, DepTime, ArrTime, UniqueCarrier, FlightNum, tiempo de conexión, ArrDelay, DepDelay, Origen, Destino, cancelado, CancellationCode donde el mes = 2... (Meses 3 a 11 omiten por razones de brevedad)INSERT INTO myflightinfoPARTITION TABLA (Mes = 12) seleccionar año, mes, DAYOFMONTH, DayOfWeek, DepTime, ArrTime, UniqueCarrier, FlightNum, tiempo de conexión, ArrDelay, DepDelay, Origen, Destino, Cancelado, CancellationCode donde el mes = 12(MI) colmena (FlightData) gt; Mostrar las particiones myflightinfo-OKmonth = 1 mes = 10 meses = 11 meses = 12 = 9 meses ...(F) $ Ls /home/biadmin/Hive/warehouse/flightdata.db/myflightinfomonth=1 meses = 11 meses = 2 meses = 4 meses = 6 meses = 8 meses = 10 meses = 12 meses = 3 meses = 5 meses = 7 meses = 9(GRAMO) $ HIVE_HOME / bin / colmena --service rcfilecat / home / BiAdmin / colmena / almacén / flightdata.db / myflightinfo / mes = 12 / 000000_0 ... 200 812 13 6 655 856 163 885 0 DL -5 PBI ATL 0200812 13 6 12511446DL 163989 9 11 IAD ATL 0200812 13 6 11101413DL 1.641.104 -5 7 SAT ATL 0

En el paso (A), se crea esta nueva tabla y especifica que el formato de archivo será la fila de columnas (etapa (b)) en lugar de texto. Este formato es más compacto que el texto y, a menudo tiene un mejor rendimiento, en función de sus patrones de acceso. (Si accede a un pequeño subconjunto de columnas en lugar de filas enteras, probar el fichero_de_recursos formato.)

El valor predeterminado para SerDe fichero_de_recursos formato es el ColumnarSerDe. Puede comprobar este hecho mediante la ejecución del DESCRIBIR myFlightInfo EXTENDIDO HiveQL de comandos desde la interfaz de línea de comandos.

Después de crear la tabla, se utiliza el INSERT SOBRESCRIBIR comando [véase la etapa (C)] para insertar datos a través de una SELECCIONAR declaración de la FlightInfo2008 mesa. Tenga en cuenta que usted está particionar sus datos utilizando el DIVIDIR palabra clave basada en el Mes campo.

Después de que haya terminado, tendrá 12 particiones de la tabla, o directorios reales, bajo la almacén directorio en el sistema de archivos en su máquina virtual, correspondiente a los 12 meses del año. Las particiones pueden mejorar drásticamente el rendimiento de su consulta si desea consultar los datos de la myFlightInfo mesa para sólo un determinado mes.

Se puede ver los resultados de la DIVIDIR con el enfoque mostrar las particiones de comandos en los pasos (E) y (F). Observe que en la etapa (d) que está utilizando una variante de la INSERTAR comando para insertar datos en varias particiones de una sola vez. Sólo el mes 2 y 12 se muestran por razones de brevedad, pero meses 3 a 11 tendría la misma sintaxis.

Video: Comando en CMD Ejemplos

Las particiones son muy útiles para el programador de la colmena. Sin embargo, no es infrecuente encontrar un conjunto de datos en la partición podría llegar a ser difícil de manejar, especialmente si se especifican varias particiones [PARTITION BY (País CADENA, PersonName CADENA), por ejemplo]. Doce particiones son una cosa - 7 mil millones de particiones serían otra muy distinta!

La solución a la expansión de la partición es bucketing. Cántaros en Colmena trabaja por lo que le permite especificar un número razonable de cubos, y luego el sistema intenta distribuir uniformemente los datos en el número de cubos que especifique. [Eso podría ser algo como PARTITION BY (...) con clústeres (BucketingColumn) EN x BUCKETS.]

Video: comando cp

Además, esta característica permite muestreo de mesa - una técnica que permite a los usuarios de la colmena escribir consultas sobre una muestra de los datos en lugar de toda la tabla. muestreo mesa HiveQL puede ser muy útil para el análisis de grandes volúmenes de datos.

También puede utilizar este DE INSERTAR EN tabla1 tabla2 SELECT ... formato para insertar en varias tablas a la vez. Tu usas INSERTAR en lugar de EXAGERAR aquí para mostrar la opción de insertar en lugar de sobrescribir. Colmena sólo permite añade, no se inserta, en tablas, por lo que la INSERTAR palabra clave, simplemente da instrucciones a la colmena para anexar los datos a la tabla.

Video: Loquendo Wars - Comando Republicano - En la Colmena - (Capitulo 2)

Por último, la nota en el paso (G) que usted tiene que utilizar un servicio especial de comandos de la colmena (rcfilecat) Para ver esta tabla en su almacén, debido a que la fichero_de_recursos formato es un formato binario, a diferencia de la anterior ARCHIVO DE TEXTO ejemplos de formato.

los INSERTAR comandos DML tiene Tres variantes. La tercera variante es la variante inserciones de partición dinámica. En el perfil, particiona el myFlightInfo mesa en 12 segmentos, 1 por mes. Si usted tenía cientos de particiones, esta tarea se habría convertido en bastante difícil, y sería scripting requerido para realizar el trabajo.

Video: Comando Segun PSeInt

En su lugar, Colmena soporta una técnica para crear dinámicamente las particiones con el INSERT SOBRESCRIBIR declaración. Por lo tanto, si ves que necesitas para aprovechar la partición de tablas con un grande, y posiblemente variables, número de particiones, echa un vistazo a las inserciones de partición dinámicos incorporan en el Manual de la colmena LMD Idioma.

Artículos Relacionados