zoukankan      html  css  js  c++  java
  • postgres s3 fdw 试用

    s3 是一个很不错的文件存储系统,以下是一个简单的试用s3 fdw (使用https://github.com/smomni/s3_fdw_py)此版本兼容pg11
    同时使用了python3 开发,使用multicorn (很强大)

    环境准备

    • 说明
      s3_fdw 的docker 镜像以及原有的已经push docker hub 了dalongrong/pg-s3-fdw
    • docker-compose 文件
     
    version: "3"
    services:
      postgres:
        image: dalongrong/pg-s3-fdw:latest
        environment:
          - POSTGRES_PASSWORD=dalong
        ports:
          - 5432:5432
      minio:
        image: minio/minio
        environment:
          - MINIO_ACCESS_KEY=dalongrong
          - MINIO_SECRET_KEY=dalongrong
        ports:
          - 9000:9000
        command: server /data
    docker-compose up -d
    启动之后打开 <a href="http://localhost:9000">http://localhost:9000</a> 账户信息  dalongrong dalongrong  
    创建桶,同时上传文档apps.csv 以及users.csv 到minio 

    使用s3 fdw

    • 创建扩展
    CREATE EXTENSION multicorn;
    • 创建server
    CREATE SERVER multicorn_es FOREIGN DATA WRAPPER multicorn
    OPTIONS (
      wrapper 's3_fdw.S3ForeignDataWrapper'
    );
    • 创建外部表映射
    // users
    CREATE FOREIGN TABLE users
        (
            name text,
            age int,
            tel TEXT,
            app TEXT
        )
    SERVER multicorn_es
    OPTIONS
        (
            bucket_name 'apps',
            object_name 'users.csv',
            access_key 'dalongrong',
            secret_key 'dalongrong',
            endpoint_url 'http://minio:9000'
        );
    // apps
    CREATE FOREIGN TABLE apps
        (
            name text,
            version text
        )
    SERVER multicorn_es
    OPTIONS
        (
            bucket_name 'apps',
            object_name 'apps.csv',
            access_key 'dalongrong',
            secret_key 'dalongrong',
            endpoint_url 'http://minio:9000'
        );
    • 数据查询
    select * from users a join apps b on a.app=b.name;
    • 效果

    说明

    通过s3 fdw 集成s3数据到pg还是一个很不错的,可以灵活的进行数据分析,同时集成pgspider 可以实现类似greenplum 的功能

    参考资料

    https://github.com/rongfengliang/pg-s3-fdw-learning
    https://github.com/smomni/s3_fdw_py

  • 相关阅读:
    falsk 自定义中间件
    练习题
    4.12 作业题
    测试笔试题2
    测试笔试题
    简答题
    单选题
    普华和诚测试笔试试题
    缺陷报告
    测试用例点
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12363382.html
Copyright © 2011-2022 走看看