เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การจัดการข้อมูลเอกสาร

ตลอดทั้งบทนี้ได้เรียนรู้เครื่องมือต่าง ๆ สำหรับทำงานกับข้อมูลเอกสารแบบ semi-structured ใน Postgres ในแบบฝึกหัดสุดท้ายนี้ จะนำเครื่องมือเหล่านั้นมาใช้ร่วมกันเพื่อสร้างชุดข้อมูลที่พร้อมสำหรับการวิเคราะห์ โดยจะทำงานกับตาราง nested_reviews ซึ่งมีโครงสร้างดังแสดงด้านล่าง

nested_reviews table, showing sample data.

เพื่อช่วยให้เริ่มต้นได้สะดวก pandas ถูก import ไว้แล้วในชื่อ pd และมีการสร้าง connection object เก็บไว้ในตัวแปร db_engine แล้ว ขอให้โชคดี!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

NoSQL เบื้องต้น

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ operator #> เพื่อดึงฟิลด์ branch ที่ซ้อนอยู่ในออบเจกต์ location จากคอลัมน์ review ในรูปแบบ JSON โดย alias ว่า branch
  • ดึงฟิลด์ statement จากคอลัมน์ review โดยใช้ operator ->> และ alias ผลลัพธ์ว่า statement
  • กรองผลลัพธ์ให้แสดงเฉพาะรายการที่มีตำแหน่งของ reviewer เป็น 'Australia' โดยใช้ฟังก์ชัน json_extract_path_text

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด