NoSQL 入門
Jake Roach
Data Engineer
定義: 一種 NoSQL 資料存放工具,以彈性、半結構化格式儲存資料,由鍵-值、鍵-陣列、鍵-物件配對組成(類似 JSON)。
$$
$$

{
"title": "Python for Data Analysis",
"price": 53.99,
"topics": [
"Data Science",
"Data Analytics",
...
],
"author": {
"first": "William"
...
}
}

SELECT
books -> 'title' AS title,
books -> 'price' AS price
FROM data_science_resources
WHERE
books -> 'author' ->> 'last' = 'Viafore';
得到以下輸出:

import sqlalchemy
# Create a connection string, and an engine
connection_string = "postgresql+psycopg2://<user>:<password>@<host>:<port>/<database>"
db_engine = sqlalchemy.create_engine(connection_string)
建立與 Postgres 資料庫的連線:
sqlalchemy.create_engine 建立 enginedb_engine 變數會在練習前建立import pandas as pd
# Build the query
query = """
SELECT
books -> 'title' AS title,
books -> 'price' AS price
FROM data_science_resources;
"""
# Execute the query
result = pd.read_sql(query, db_engine)
print(result)
撰寫並執行查詢:
query 與 db_engine 傳入 pd.read_sql() 函式
NoSQL 入門