Manipulação de dados de documentos
Ao longo deste capítulo, você explorou várias ferramentas para trabalhar com dados de documentos semiestruturados no Postgres. Neste exercício final, você colocará todas essas ferramentas em funcionamento para criar um conjunto de dados pronto para análise. Você trabalhará com a tabela nested_reviews
, que tem a forma mostrada abaixo.

Para ajudar você a começar, pandas
foi importado como pd
, e um objeto de conexão foi criado e armazenado na variável db_engine
. Boa sorte!
Este exercício faz parte do curso
Introdução ao NoSQL
Instruções de exercício
- Usar o operador
#>
para retornar o campobranch
aninhado do objetolocation
na colunareview
, como JSON. Alias comobranch
. - Consulte o campo
statement
na colunareview
, usando o operador->>
, colocando o resultado comostatement
. - Filtre os resultados para incluir apenas registros com um local
reviewer
de'Australia'
, com a ajuda da funçãojson_extract_path_text
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Extract fields from JSON, and filter by reviewer location
query = """
SELECT
review_id,
____ #> '{____, ____}' AS ____,
____ ->> '____' AS ____,
rating
FROM nested_reviews
WHERE ____(____, '____', '____') = 'Australia'
ORDER BY rating DESC;
"""
data = pd.read_sql(query, db_engine)
print(data)