¿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.
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.