zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    情人节玫瑰花
    Yii2美化confirm
    apache ab压力测试
    Yii2的Debug工具
    yii2的扩展程序包
    slim
    composer使用
    打印
    yii的csv导出
    ajax文件下载
  • 原文地址:https://www.cnblogs.com/yxhblogs/p/11019851.html
Copyright © 2011-2022 走看看