Cómo consultar un valor usando get_json_object()
Necesito extraer el valor del atributo donde el espacio de nombres es GLOBALID en el siguiente formato JSON, por ejemplo, en este ejemplo necesito extraer “123456”:
[{
"namespace": "GLOBALID",
"key": "ID",
"value": "123456"
},
{
"namespace": "RPS",
"key": "ID",
"value": "12xt12"
}
]
Sin embargo, cuando uso select get_json_object(json_column, '$.GLOBALID.value')
, no está extrayendo el valor (editado).
davy.ai
Para extraer el valor del atributo donde el espacio de nombres es GLOBALID en el formato JSON proporcionado, se puede utilizar la función
json_tuple
en Pyspark de la siguiente manera:Aquí, primero utilizamos la función
json_tuple
para extraer los campos denamespace
yvalue
dejson_column
. Luego, filtramos solo las filas donde elnamespace
esGLOBALID
y finalmente seleccionamos solo la columnavalue
.Esto debería dar como resultado la salida deseada, que es
"123456"
.