Manipularea datelor din documente
Pe parcursul acestui capitol, ai explorat o serie de instrumente pentru a lucra cu date semi-structurate de tip document în Postgres. În acest exercițiu final, vei pune toate aceste instrumente la lucru pentru a crea un set de date pregătit pentru analiză. Vei lucra cu tabela nested_reviews, al cărei format este prezentat mai jos.

Pentru a te ajuta să începi, pandas a fost importat ca pd, iar un obiect de conexiune a fost creat și stocat în variabila db_engine. Mult succes!
Acest exercițiu face parte din cursul
Introducere în NoSQL
Instrucțiuni pentru exercițiu
- Folosind operatorul
#>, returnează câmpul imbricatbranchdin obiectullocationdin coloanareview, ca JSON. Folosește aliasulbranch. - Interoghează câmpul
statementdin coloanareviewfolosind operatorul->>, cu aliasulstatementpentru rezultat. - Filtrează rezultatele pentru a include doar înregistrările cu locația
revieweregală cu'Australia', cu ajutorul funcțieijson_extract_path_text.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)