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。
Python 如何连接并操作 Aws 上 PB 级云数据仓库 Redshift的更多相关文章
- Python 使用Python远程连接并操作InfluxDB数据库
使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 实践环境 Python 3.4.0 CentOS 6 64位(内核版本2.6.32-642.el6.x86 ...
- 使用python简单连接并操作数据库
python中连接并操作数据库 图示操作流程 一.使用的完整流程 # 1. 导入模块 from pymysql import connect # 2. 创建和数据库服务器的连接,自行设置 服务器地址, ...
- 关于python字符串连接的操作
python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...
- Python Oracle连接与操作封装
一.封装方式一 #encoding:utf-8 import cx_Oracleclass Oracle_Status_Output: def __init__(self,db_name,db_ ...
- 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践
本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...
- 孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库
孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第四天.今天的感觉是,mongoDB数据 ...
- Python使用boto3操作AWS S3中踩过的坑
最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_ ...
- python连接mysql操作(1)
python连接mysql操作(1) import pymysql import pymysql.cursors # 连接数据库 connect = pymysql.Connect( host='10 ...
- python 学习笔记 redis操作
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
随机推荐
- 【BZOJ3091】城市旅行 LCT
[BZOJ3091]城市旅行 Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 ...
- var foo = "11"+2+"1"; console.log(foo); //1121 好多文章答案写错了,我发下给初学的朋友看到,以免一开始就学错了
体会加一个字符串'1' 和 减去一个字符串'1'的不同 var foo = "11"+2-"1"; console.log(foo); //111 consol ...
- 【JAVA学习】struts2的action中使用session的方法
尊重版权:http://hi.baidu.com/dillisbest/item/0bdc35c0b477b853ad00efac 在Struts2里,假设须要在Action中使用session.能够 ...
- 利用framebuffer,命令行显示图片
上代码 import fcntl import struct import mmap import contextlib import os import time import numpy as n ...
- CentOS7的yum安装mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com ...
- jumpserver v3.0
文档地址 www.php230.com/weixin1451347094.html
- 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.
from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里, ...
- 勤于思考:IE10不支持检测IE6的代码
这句话 var isIE6 = isIE && ([/MSIE (\d)\.0/i.exec(navigator.userAgent)][0][1] == 6); 在IE6~9都没问题 ...
- listen 71
Creepy People Leave You Cold Jack Nicholson, playing the crazed caretaker in The Shining, makes me r ...
- leetcode 19. Remove Nth Node From End of List(链表)
Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...