PXF安装了Azure Blob Storage, Azure Data Lake, Google Cloud Storage, Minio和S3对象存储的连接器

先决条件

在使用PXF处理对象存储数据之前,请确保:

连接器、数据格式和配置文件

PXF对象存储连接器提供内置配置文件支持以下数据格式:

  • Text
  • Avro
  • JSON
  • Parquet
  • AvroSequenceFile
  • SequenceFile

与Azure、Google Cloud Storage、Minio和S3的PXF连接器提供了以下配置文件以读取、写入(在许多情况下)这些受支持的数据格式:

数据格式Azure Blob StorageAzure Data LakeGoogle Cloud StorageS3 或 Minio
分隔的单行纯文本wasbs:textadl:textgs:texts3:text
分隔的带引号的换行符文本wasbs:text:multiadl:text:multigs:text:multis3:text:multi
Avrowasbs:avroadl:avrogs:avros3:avro
JSONwasbs:jsonadl:jsongs:jsons3:json
Parquetwasbs:parquetadl:parquetgs:parquets3:parquet
AvroSequenceFilewasbs:AvroSequenceFileadl:AvroSequenceFilegs:AvroSequenceFiles3:AvroSequenceFile
SequenceFilewasbs:SequenceFileadl:SequenceFilegs:SequenceFiles3:SequenceFile

CREATE EXTERNAL TABLE 命令中指定 pxf 协议以创建引用特定对象存储中的文件或目录的Greenplum数据库外部表时,可以提供配置文件名称。

示例CREATE EXTERNAL TABLE命令

以下命令创建了一个引用S3上的文本文件的外部表。指定名为 s3:text 的配置文件和名为 s3srvcfg 的服务配置:

  1. CREATE EXTERNAL TABLE pxf_s3_text(location text, month text, num_orders int, total_sales float8)
  2. LOCATION ('pxf://S3_BUCKET/pxf_examples/pxf_s3_simple.txt?PROFILE=s3:text&SERVER=s3srvcfg')
  3. FORMAT 'TEXT' (delimiter=E',');

以下命令创建了一个引用Azure Blob Storage上文本文件的外部表。 指定名为 wasbs:text 的配置文件和名为 wasbssrvcfg 的服务配置。 您将提供Azure Blob Storage 容器标识和您的 Azure Blob Storage 账户。

  1. CREATE EXTERNAL TABLE pxf_wasbs_text(location text, month text, num_orders int, total_sales float8)
  2. LOCATION ('pxf://AZURE_CONTAINER@YOUR_AZURE_BLOB_STORAGE_ACCOUNT_NAME.blob.core.windows.net/path/to/blob/file?PROFILE=wasbs:text&SERVER=wasbssrvcfg')
  3. FORMAT 'TEXT';

以下命令创建了一个引用Azure Data Lake上文本文件的外部表。 指定名为 adl:text 的配置文件和名为 adlsrvcfg 的服务配置。 您将提供您的Azure Data Lake 账户。

  1. CREATE EXTERNAL TABLE pxf_adl_text(location text, month text, num_orders int, total_sales float8)
  2. LOCATION ('pxf://YOUR_ADL_ACCOUNT_NAME.azuredatalakestore.net/path/to/file?PROFILE=adl:text&SERVER=adlsrvcfg')
  3. FORMAT 'TEXT';

以下命令创建了一个引用Google Cloud Storage上JSON文件的外部表。 指定名为 gs:json 的配置文件和名为 gcssrvcfg 的服务配置:

  1. CREATE EXTERNAL TABLE pxf_gsc_json(location text, month text, num_orders int, total_sales float8)
  2. LOCATION ('pxf://dir/subdir/file.json?PROFILE=gs:json&SERVER=gcssrvcfg')
  3. FORMAT 'CUSTOM' (FORMATTER='pxfwritable_import');