Python 如何连接并操作 Aws 上 PB 级云数据仓库 Redshift
Python
如何连接并操作 Aws
上 PB
级云数据仓库 Redshift
一、简介#
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
。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战