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

Python 如何连接并操作 Aws 上 PB 级云数据仓库 Redshift的更多相关文章

  1. Python 使用Python远程连接并操作InfluxDB数据库

    使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 实践环境 Python 3.4.0 CentOS 6 64位(内核版本2.6.32-642.el6.x86 ...

  2. 使用python简单连接并操作数据库

    python中连接并操作数据库 图示操作流程 一.使用的完整流程 # 1. 导入模块 from pymysql import connect # 2. 创建和数据库服务器的连接,自行设置 服务器地址, ...

  3. 关于python字符串连接的操作

    python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...

  4. Python Oracle连接与操作封装

    一.封装方式一 #encoding:utf-8 import cx_Oracleclass Oracle_Status_Output:    def __init__(self,db_name,db_ ...

  5. 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践

    本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...

  6. 孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库

    孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第四天.今天的感觉是,mongoDB数据 ...

  7. Python使用boto3操作AWS S3中踩过的坑

    最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_ ...

  8. python连接mysql操作(1)

    python连接mysql操作(1) import pymysql import pymysql.cursors # 连接数据库 connect = pymysql.Connect( host='10 ...

  9. python 学习笔记 redis操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

随机推荐

  1. Socket 群聊功能

    1.Server端: 拥有一个存放与客户端连接对象的List<socket> 有一个客户端发信息后 遍历List 实现群发功能 代码如下: package com.socket; impo ...

  2. python中的特殊用法

    1 别名 from xxx import xxx as xxx;

  3. lasso the moon

  4. wifi androd 整体框架

    1. http://blog.csdn.net/myarrow/article/details/8129607/ 2.  http://blog.csdn.net/liuhaomatou/articl ...

  5. MySQL——并发控制(锁)

    核心知识点: 1.表锁和行级锁代表着锁的级别:读锁和写锁代表锁定真实类型. 2.读锁属于共享锁,共享同一资源,互不干扰:写锁属于排他锁,为了安全起见,写锁会阻塞其他的读锁和写锁. 3.表锁的开销最小, ...

  6. 微信小程序开发:学习笔记[4]——样式布局

    微信小程序开发:学习笔记[4]——样式布局 Flex布局 新的布局方式 在小程序开发中,我们需要考虑各种尺寸终端设备上的适配.在传统网页开发,我们用的是盒模型,通过display:inline | b ...

  7. 部署nginx支持lua

    nginx yum -y install gcc pcre pcre-devel openssl openssl-devel  GeoIP GeoIP-devel lua lua-develwget ...

  8. axios无法在ie9,10,11环境下运行的问题解决

    npm install es6-promise --save-dev import promise from 'es6-promise'; promise.polyfill();

  9. 三年java软件工程师应有的技技能

    摘要:http://blog.csdn.net/jieinasiainfo/article/details/51177729 http://blog.csdn.net/kangqianglong/ar ...

  10. firfox 和 chrome 移动端Web开发页面调试

    Firefox浏览: 1."Alt+t" 选择工具栏中的“工具”>Web开发者工具>查看器>点击红框所指的地方 或者 F12 [当然这个歌前提是你没有安装fire ...