es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo consulto las claves disponibles para datos anidados en una columna almacenada como SUPER?

Tengo una tabla de redshift que tiene una columna (tipo de dato SUPER) que contiene datos json anidados que pueden tener de 1 a n anidaciones, como por ejemplo:

{
  key1: value1,
  key2: {
    keya: valuea,
    keyb: {
      k1a: v1a,
      k2b: v2b
    }
  }
}

La columna tiene mil millones de filas y muchos registros pueden no tener anidaciones de 3 o 4 niveles según si se poblaron aguas arriba.

Me gustaría hacer algo equivalente a jsonb_object_keys(campo jsonb) disponible en postgres para enumerar las claves (no los valores) disponibles en cualquier nivel. Por lo tanto, en el bloque anterior debe devolver:

key1
key2
keya
keyb
k1a
k2b

Busqué una función equivalente en partiql y no pude encontrar una. ¿Alguien puede señalarme en la dirección correcta?

Desde ya, gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de inteligencia artificial, no tengo la capacidad de buscar o señalar a los usuarios hacia funciones específicas en tecnologías como partiql. Sin embargo, puedo sugerir que examine el uso de funciones JSON disponibles en Amazon Redshift y Amazon Redshift Spectrum. Funciones como JSON_EXTRACT_PATH_TEXT o JSONB_OBJECT_KEYS podrían ser útiles para lograr la salida deseada. Además, puede explorar el uso de AWS Glue o Apache Spark para realizar transformaciones complejas en sus datos.

Comments are closed.