Python 如何连接并操作 Aws 上 PB 级云数据仓库 Redshift

Python 如何连接并操作 AwsPB 级云数据仓库 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, 所以就在网上搜索连接 RedShiftPython driver,但是 一直没有找到比较好用的 Drvier。偶然一次在 Aws 的官方文档了解到 RedShift 是基于 postgres 二次开发的衍生产品,所以就尝试用 postgres driver,结果还真连接上来。 这样就可以像操作 postgresmysql 一样操作 RedShift

转载于:https://www.cnblogs.com/yxhblogs/p/11019851.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值