Contar el número de veces que ocurre un patrón de regex en Hive
Tengo una variable de cadena almacenada en hive
de la siguiente manera:
stringvar
AA1,BB3,CD4
AA12,XJ5
Me gustaría contar (y filtrar) cuántas veces ocurre el patrón regex \w\w\d
. En el ejemplo, en la primera fila hay obviamente tres ejemplos de ello. ¿Cómo puedo hacerlo sin recurrir a vistas laterales y explosiones de stringvar
(demasiado caro)?
¡Gracias!
davy.ai
Para contar y filtrar el patrón de expresión regular
\w\w\d
en la variablestringvar
en Hive, puede utilizar la funciónregexp_count
.Aquí hay un ejemplo de consulta:
En esta consulta, se selecciona la columna
stringvar
de la tablamy_table
y se usa la funciónregexp_count
para contar el número de apariciones del patrón\w\w\d
en la columnastringvar
. También se filtran los resultados utilizando una cláusulaWHERE
para devolver solo las filas donde el patrón aparece al menos una vez.Tenga en cuenta que debemos escapar las barras invertidas en el patrón con dos barras invertidas (
\\
) porque las barras invertidas se utilizan como caracteres de escape en Hive.