Python 如何鏈接並操做 Aws 上 PB 級雲數據倉庫 Redshift

Python 如何鏈接並操做 AwsPB 級雲數據倉庫 Redshift

1、簡介

Amazon Redshift 是一個快速、可擴展的數據倉庫,能夠簡單、經濟高效地分析數據倉庫和數據湖中的全部數據。
Redshift 經過在高性能磁盤上使用 Machine Learning、大規模並行查詢執行和列式存儲可提供比其餘數據倉庫快十倍的性能。
您能夠在幾分鐘內設置和部署新的數據倉庫,並在 Redshift 數據倉庫中對 PB 級數據,以及對在 Amazon S3 上構建的數據湖中的 EB 級數據運行查詢。html

2、鏈接 RedShift

這裏使用的是 postgres 的驅動,緣由是:redshift 數據倉庫是 aws 基於 postgres 二次開發的衍生產品。python

注:這裏須要用到 orator 庫,能夠運行命令 pip3 install orator 安裝。mysql

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)

3、基本操做

這裏主要介紹最基本的增刪改查操做,想要了解更高級的操做能夠查看官方文檔:傳送門sql

# 查詢
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()

4、相關文檔

5、總結

由於 aws 官方只提供了 JDBC Drvier, 因此就在網上搜索鏈接 RedShiftPython driver,可是 一直沒有找到比較好用的 Drvier。偶然一次在 Aws 的官方文檔瞭解到 RedShift 是基於 postgres 二次開發的衍生產品,因此就嘗試用 postgres driver,結果還真鏈接上來。 這樣就能夠像操做 postgresmysql 同樣操做 RedShift數據庫

相關文章
相關標籤/搜索