一、簡介
Amazon Redshift 是一個快速、可擴充套件的資料倉儲,可以簡單、經濟高效地分析資料倉儲和資料湖中的所有資料。
Redshift 通過在高效能磁碟上使用 Machine Learning、大規模並行查詢執行和列式儲存可提供比其他資料倉儲快十倍的效能。
您可以在幾分鐘內設定和部署新的資料倉儲,並在 Redshift 資料倉儲中對 PB 級資料,以及對在 Amazon S3 上構建的資料湖中的 EB 級資料執行查詢。
二、連線 RedShift
這裡使用的是 postgres
的驅動,原因是:redshift
資料倉儲是 aws
基於 postgres
二次開發的衍生產品。
注:這裡需要用到 orator
庫,可以執行命令 pip3 install orator
安裝。
from orator import DatabaseManager
config = {
'postgres': {
'driver': 'postgres',
'host': 'xxxxxx-cluster.xxxxx.xxxx.redshift.amazonaws.com',
'port': '5439',
'database': 'db_name',
'user': 'root',
'password': 'root',
'prefix': '',
'log_queries': true
}
}
db = DatabaseManager(config)
三、基本操作
這裡主要介紹最基本的增刪改查操作,想要了解更高階的操作可以檢視官方文件:傳送門
# 查詢
row = db.table('users').first()
# 新增
db.table('users').insert({
'email': 'foo@bar.com',
'votes': 0
})
# 更新
db.table('users').where('id', 1).update({'votes': 1})
# 刪除
db.table('users').where('age', '<', 25).delete()
四、相關文件
五、總結
因為 aws
官方只提供了 JDBC Drvier
, 所以就在網上搜尋連線 RedShift
的 Python driver
,但是 一直沒有找到比較好用的 Drvier
。偶然一次在 Aws
的官方文件瞭解到 RedShift
是基於 postgres
二次開發的衍生產品,所以就嘗試用 postgres driver
,結果還真連線上來。 這樣就可以像操作 postgres
或 mysql
一樣操作 RedShift
。
本作品採用《CC 協議》,轉載必須註明作者和本文連結