Manipulowanie danymi dokumentów
W tym rozdziale poznałeś(-aś) szereg narzędzi do pracy z semi-strukturalnymi danymi dokumentów w Postgresie. W tym ostatnim ćwiczeniu wykorzystasz je wszystkie, aby przygotować zbiór danych gotowy do analizy. Będziesz pracować z tabelą nested_reviews, która ma postać przedstawioną poniżej.

Na dobry start: biblioteka pandas została zaimportowana jako pd, a obiekt połączenia jest dostępny w zmiennej db_engine. Powodzenia!
To ćwiczenie jest częścią kursu
Wprowadzenie do NoSQL
Instrukcje do ćwiczenia
- Użyj operatora
#>, aby zwrócić zagnieżdżone polebranchz obiektulocationw kolumniereviewjako JSON. Nadaj mu aliasbranch. - Pobierz pole
statementz kolumnyreview, używając operatora->>, nadając wynikowi aliasstatement. - Ogranicz wyniki wyłącznie do rekordów, w których lokalizacja
reviewerto'Australia'– skorzystaj w tym celu z funkcjijson_extract_path_text.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)