ComeçarComece de graça

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.

nested_reviews table, showing sample data.

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

Ver curso

Instruções do exercício

  • Use o operador #> para retornar, como JSON, o campo aninhado branch do objeto location na coluna review. Coloque o alias branch.
  • Consulte o campo statement na coluna review, usando o operador ->> e colocando o alias statement no resultado.
  • Filtre os resultados para incluir apenas registros com reviewer localizado em 'Australia', com a ajuda da função json_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)
Editar e executar o código