始める無料で始める

ドキュメントデータの操作

この章では、Postgres で半構造化のドキュメントデータを扱うためのさまざまなツールを学んできました。最後の演習では、これらすべてを組み合わせて、分析に使えるデータセットを作成します。使用するのは nested_reviews テーブルで、下図の形式になっています。

nested_reviews table, showing sample data.

開始しやすいように、pandaspd としてインポート済みで、接続オブジェクトは db_engine という変数に作成・保存されています。頑張ってください!

この演習はコースの一部です

NoSQL入門

コースを見る

演習の手順

  • #> 演算子を使って、review 列の location オブジェクトから入れ子の branch フィールドを JSON として取得し、branch という別名を付けてください。
  • ->> 演算子を使って、review 列の statement フィールドを抽出し、結果に statement の別名を付けてください。
  • json_extract_path_text 関数を使い、reviewer の場所が 'Australia' のレコードのみが含まれるように結果をフィルタリングしてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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)
コードを編集して実行