标签:postgres s3 dalongrong apps fdw multicorn name
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
- 启动&&初始化数据
依赖的文档参考 https://github.com/rongfengliang/pg-s3-fdw-learning
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
标签:postgres,s3,dalongrong,apps,fdw,multicorn,name 来源: https://www.cnblogs.com/rongfengliang/p/12363382.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。