Python
如何链接并操做 Aws
上 PB
级云数据仓库 Redshift
Amazon Redshift 是一个快速、可扩展的数据仓库,能够简单、经济高效地分析数据仓库和数据湖中的全部数据。
Redshift 经过在高性能磁盘上使用 Machine Learning、大规模并行查询执行和列式存储可提供比其余数据仓库快十倍的性能。
您能够在几分钟内设置和部署新的数据仓库,并在 Redshift 数据仓库中对 PB 级数据,以及对在 Amazon S3 上构建的数据湖中的 EB 级数据运行查询。html
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)
这里主要介绍最基本的增删改查操做,想要了解更高级的操做能够查看官方文档:传送门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()
由于 aws
官方只提供了 JDBC Drvier
, 因此就在网上搜索链接 RedShift
的 Python driver
,可是 一直没有找到比较好用的 Drvier
。偶然一次在 Aws
的官方文档了解到 RedShift
是基于 postgres
二次开发的衍生产品,因此就尝试用 postgres driver
,结果还真链接上来。 这样就能够像操做 postgres
或 mysql
同样操做 RedShift
。数据库