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

最新文章

  1. Unity自动寻路Navmesh之高级
  2. NSIS 无边框移动问题总结笔记
  3. API调试工具推荐 - httpie
  4. google play iap 常见问题
  5. hadoop-mongo map/reduce java
  6. iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄
  7. IE下实现打印功能
  8. Redis 集合操作
  9. How to use For loop in CruiseControl.net
  10. IOS开发之——使用SBJson拼接Json字符串
  11. 《Metasploit魔鬼训练营》第四章(上)
  12. VLOOKUP函数常用套路大全
  13. Linux sort -n 与 -g 排序对比
  14. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(上)
  15. java -关于包装类自动装箱与拆箱拓展+整形常量池
  16. linux kill 命令【待完善】【转】
  17. Kafka 文件存储机制那些事 - 美团技术团队
  18. linux中高亮显示文本的工具 -- bat
  19. [LeetCode] 345. Reverse Vowels of a String_Easy tag:Two Pointers
  20. Zigbee学习

热门文章

  1. 使用struts2中默认的拦截器以及自定义拦截器
  2. C#Panel 控件的使用
  3. Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目(转)
  4. VC里OnPaint几点要注意的地方(没有invalidate,系统认为窗口没有更新的必要,于是就对发来的WM_PAINT消息不理不睬)
  5. freetype下载和配置
  6. 转 Spring 组件 &lt;context:component-scan base-pakage=&quot;&quot;&gt;用法
  7. JAVA使用相对路径读取配置文件
  8. mooc_java 集合框架下
  9. Oracle约束的使用
  10. RQNOJ 140 分配时间:dp