本文翻译自 https://docs.vmware.com/en/VMware-Greenplum-Platform-Extension-Framework/6.6/greenplum-platform-extension-framework/overview_pxf.html
随着数据存储和云服务的爆炸式增长,数据现在以各种格式驻留在许多不同的系统中。通常,数据根据其位置、对数据执行的操作以及访问数据的频率进行分类:实时或事务性(热)、不太频繁(热)或存档(冷)。
下图描述了一个数据源,它跟踪多年来每月的销售额。实时运行数据存储在MySQL中。分析和商业智能操作的数据存储在Greenplum数据库中。很少访问的归档数据驻留在AWS S3中。
当外部系统中存在多个相关数据集时,远程连接数据集并只返回结果通常更有效,而不是协商执行相当昂贵的全数据负载操作的时间和存储需求。Greenplum平台扩展框架(PXF)是提供并行、高吞吐量数据访问和联邦查询处理的Greenplum扩展,它提供了这种功能。
使用PXF,您可以使用Greenplum和SQL来查询这些异构数据源:
- Hadoop, Hive, HBase
- Azure Blob存储 and Azure数据湖
- AWS S3
- MinIO
- Google云存储
- SQL数据库包括 Apache Ignite, Hive, MySQL, ORACLE, Microsoft SQL Server, DB2, PostgreSQL (via JDBC)
- 网络文件系统
数据格式包括:
- Avro, AvroSequenceFile
- JSON
- ORC
- Parquet
- RCFile
- SequenceFile
- Text (普通,分隔,嵌入换行,固定宽度)
基本使用
您可以使用PXF将数据从外部源映射到Greenplum Database外部表定义。然后你可以使用PXF外部表和SQL来:
对外部数据执行查询,将引用的数据保留在远程系统上。
将外部数据的一个子集加载到Greenplum Database中。
对驻留在Greenplum表中的本地数据和通过PXF外部表引用的远程数据运行复杂查询。
将数据写入外部数据源。
开始配置PXF
Greenplum数据库管理员管理PXF、Greenplum数据库用户权限和外部数据源配置。任务包括:
安装、配置、启动、监视PXF服务并排除故障。
- 管理PXF升级。
- 为每个外部数据源配置和发布一个或多个服务器定义。该定义指定外部数据源的位置和访问凭据。
- 授予Greenplum用户对PXF和PXF外部表的访问权限。
后面文章详细介绍。
开始使用PXF
Greenplum数据库用户创建一个PXF外部表,该表引用外部数据源中的文件或其他数据,并使用外部表在Greenplum中查询或加载外部数据。任务依赖于外部数据存储:
- 请参见当数据驻留在Hadoop中时使用PXF访问Hadoop。
- 请参阅当数据驻留在对象存储中时使用PXF访问Azure、Google云存储、MinIO和S3对象存储。
- 请参阅当数据驻留在外部SQL数据库中时使用PXF访问SQL数据库。
后面文章详细介绍。