Introducción a las funciones integradas de Hive
Las funciones se crean para realizar diferentes requisitos analíticos y operaciones como matemática, lógica, aritmética y relacional, en grandes conjuntos de datos y tablas. Las funciones se usan cuando tenemos que reutilizar operaciones similares varias veces. En este mundo avanzado de BigData, para manejar y procesar grandes conjuntos de datos, escribir programas MapReduce se vuelve difícil. Por lo tanto, Hive Query Language (HQL) se introdujo en la parte superior de Apache Hadoop en octubre de 2010, mediante el cual podemos ejecutar fácilmente consultas similares a SQL Los HQL se convierten internamente en programas Mapreduce para producir los resultados. En este tema, vamos a analizar las funciones integradas de Hive.
Las funciones de la colmena se clasifican en general en dos:
- Funciones integradas
- Funciones definidas por el usuario
Funciones incorporadas de colmena
Las funciones integradas están predefinidas y disponibles para usar en Hive. Se clasifican de la siguiente manera:
1. Funciones de cadena
Utilizado para manipulaciones de cadenas y transformación.
Nombre de la función | Tipo de devolución | Descripción | Ejemplo |
substr (cadena, int, int) | Cuerda | Devuelve una cadena desde la posición de inicio especificada a la longitud especificada | substr ('Hive query', 5, 5) da como resultado 'query' |
rtrim (cadena X) | Cuerda | Devuelve una cadena sin espacios iniciales derechos | rtrim ('Hola') da como resultado 'Hola' |
ltrim (cadena X) | Cuerda | Devuelve una cadena sin espacios iniciales a la izquierda | ltrim ('Hola') da como resultado 'Hola' |
reverso (cadena X) | Cuerda | Devuelve una cadena invertida de X | reverso ('hola') resulta en 'olleh' |
rpad (cadena X, int, cadena) | Cuerda | Devuelve una cadena acolchada derecha con 'pad' a una longitud de | rpad ('Hola', 3, 'hola') da como resultado 'Hola hola hola hola' |
lpad (cadena X, int, cadena) | Cuerda | Devuelve una cadena acolchada izquierda con 'almohadilla' a una longitud de | lpad ('Hola', 3, 'Hola') da como resultado 'Hola Hola Hola Hola' |
split (cadena X, cadena de palmaditas) | Formación | Devuelve una matriz de cadenas después de dividir la cadena alrededor del patrón especificado | split ("A, B, C, D", ", ") da como resultado ('A', B ', ' C ', ' D ') |
longitud (cadena X) | Entero | Devuelve la longitud de la cadena X | length ('Bigdata') resulta en 7 |
concat (cadena X, cadena Y) | Cuerda | Devuelve una cadena concatenada de X e Y | concat ('Hola', 'Mundo') da como resultado 'HolaMundo' |
2. Funciones matemáticas
Se usa para aplicar operaciones matemáticas como redondeo, techo, piso, etc. en lugar de crear UDF.
Nombre de la función | Tipo de devolución | Descripción | Ejemplo |
redondo (doble X) | Doble | Devuelve el valor redondeado de X | resultados redondos (29.5) en 30 |
redondo (doble X, Int d) | Doble | Devuelve el valor redondeado de X a d lugares decimales | ronda (29.3456, 2) resulta en 29.34 |
techo (doble X) | Doble | Devuelve un valor BIGINT mínimo que es igual o mayor que X | ceil (20.5555) resulta en 21 |
piso (doble X) | Doble | Devuelve un valor BIGINT máximo que es igual o mayor que X | ceil (20.5555) resulta en 20 |
rand () | Doble | Devuelve números aleatorios entre 0 y 9 | rand () resulta en rand (0-9) |
abs (doble X) | Doble | Devuelve el valor absoluto del número X | abs (-25) resulta en 25 |
pow (doble X, doble Y) | Doble | Devuelve el valor X elevado a la potencia Y | pow (2, 3) resulta en 8 |
exp (doble X) | Doble | Devuelve el valor exponente de X | exp (2) da como resultado 7.389 |
3. Funciones condicionales
Se utiliza para verificar una expresión para Verdadero o Falso y devuelve los resultados correspondientes.
Nombre de la función | Tipo de devolución | Descripción | Ejemplo |
isnull (X) | Booleano | Devuelve VERDADERO si X es NULL o falso | isnull ('NULL') regresa en TRUE |
no es nulo (X) | Booleano | Devuelve VERDADERO si X no es NULL o falso | isnotnull ('NULL') regresa en FALSE |
nvl (arg X, arg Y) | Cuerda | Devuelve arg Y si arg X es NULL, de lo contrario devuelve arg X | nvl ('NULL', 'El valor es nulo') da como resultado 'El valor es nulo' |
if (Boolean testCondition, T valueTrue, T valueFalseOrNull) | T | Devuelve Verdadero cuando la condición de prueba es verdadera y Falso o Nulo de lo contrario | if (2 = 2, 'Verdadero', 'Falso') |
fusionarse (X, Y) | (Ninguna) | Devuelve los primeros valores no nulos de la lista (Tengo una duda sobre esto: ¿devolverá el primer valor o todos los valores no nulos?) | resultados de fusión (nulo, nulo, nulo, 1, 5, nulo, nulo, 6) en 1 |
4. Funciones de fecha
Se utiliza para realizar manipulaciones de fecha y conversiones de tipo de fecha.
Nombre de la función | Tipo de devolución | Descripción | Ejemplo |
fecha actual | Fecha | Devuelve la fecha actual de ejecución de la consulta. | current_date () devuelve la fecha de hoy |
unix_timestamp () | Empezando | Devuelve la marca de tiempo actual de Unix de la ejecución de la consulta en segundos | unix_timestamp () devuelve la marca de tiempo actual de unix |
año (fecha de cadena) | En t | Devuelve año parte de una fecha | año ('1994-11-24') regresa 1994 |
trimestre (fecha de cadena) | En t | Devuelve el trimestre del año de una fecha. | trimestre ('1994-11-24') devuelve 4 |
mes (fecha de cadena) | En t | Devuelve el mes parte de una fecha | mes ('1994-11-24') devuelve 11 |
hora (fecha de cadena) | En t | Devuelve la parte de la hora de la marca de tiempo | hora ('1994-11-24 12:45:23') devuelve 12 |
minuto (fecha de cadena) | En t | Devuelve la parte de minutos de la marca de tiempo | año ('1994-11-24 12:45:23') devuelve 45 |
hasta la fecha() | Cuerda | Devuelve parte de la fecha de la cadena de marca de tiempo | to_date () devuelve parte de fecha |
date_sub (fecha de cadena, int días) | Cuerda | Devuelve la resta del número de días a la fecha. | date_sub ('1994-11-24', 20) devuelve '1994-11-04' |
meses_entre (fecha1, fecha2) | Doble | Devuelve el número de meses entre fecha1 y fecha2 (¿meses o no días?) | months_between ('1994-11-24 ′, ' 1994-11-04 ') devuelve 20 |
5. Función de colección
Se utiliza para transformar y recuperar partes de tipos de colección como mapa, matriz, etc.
Nombre de la función | Tipo de devolución | Descripción | Ejemplo |
tamaño (mapa) | En t | Devuelve el número total de elementos en el mapa. | size (('a': 2, 'b': 6)) devuelve 2 |
tamaño (matriz) | En t | Devuelve el número total de elementos en la matriz. | size ((1, 3, 4, 7)) devuelve 4 |
array_contains (matriz, valor) | Booleano | Devuelve verdadero si la matriz contiene el valor | array_contains ((1, 3, 9, 8, 5, 4, 7), 5) devuelve VERDADERO |
map_keys (mapa) | Formación | Devuelve una matriz desordenada de teclas del mapa. | map_keys (('a': 2, 'b': 6, 'c': 1)) devuelve ('b', 'c', 'a') |
map_valuess (mapa) | Formación | Devuelve una matriz desordenada de valores del mapa | map_keys (('a': 2, 'b': 6, 'c': 1)) devuelve (1, 6, 2) |
sort_array (matriz) | Formación | Devuelve una matriz ordenada de la matriz dada | sort_array ((1, 3, 9, 8, 5, 4, 7)) devuelve (1, 3, 4, 5, 7, 8, 9) |
Conclusión
Hasta ahora hemos discutido diferentes funciones integradas en Hive. En comparación con MapReduce, Hive es más conveniente y ahorra tiempo. Cualquiera que tenga conocimientos básicos de SQL puede escribir fácilmente HQL, en lugar de complicados programas MapReduce para el procesamiento de datos.
Artículos recomendados
Esta es una guía para las funciones integradas de Hive. Aquí discutimos las funciones incorporadas que están predefinidas y fácilmente disponibles para usar en Hive. También puede consultar el siguiente artículo para obtener más información:
- Funciones de cadena de colmena
- Función de la colmena
- Comandos de la colmena
- Arquitectura de la colmena
- Orden de la colmena por
- Instalación de colmena
- Funciones integradas de Python