Manipulando 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ê vai colocar todas essas ferramentas em prática para criar um conjunto de dados pronto para análise. Você trabalhará com a tabela nested_reviews, que tem o formato mostrado abaixo.

Para ajudar você a começar, pandas já 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 a NoSQL
Instruções do exercício
- Use o operador
#>para retornar, como JSON, o campo aninhadobranchdo objetolocationna colunareview. Coloque o aliasbranch. - Consulte o campo
statementna colunareview, usando o operador->>e colocando o aliasstatementno resultado. - Filtre os resultados para incluir apenas registros com
reviewerlocalizado em'Australia', com a ajuda da funçãojson_extract_path_text.
Exercício interativo prático
Experimente este exercício completando 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)