Pregunta

Estoy tratando de pegar una string y int de map en Hive a un array. Por ahora, ficha es similar al siguiente:

{"string1":1,"string2":1,"string3":15}

¿Hay una manera de convertirlo en una serie como esta:

["string1:1","string2:1","string3:15"]
¿Fue útil?

Solución

Si se asume que su mapa se llama "M" y quiere que su campo de matriz que se llamará "A"

SELECT 
...
array(concat_ws(":","string1",M[1]),
      concat_ws(":","string2",M[2]),
      concat_ws(":","string3",M[3]) as A
....
FROM table;
Licenciado bajo: CC-BY-SA con atribución
scroll top