Skip to content

PXF for WarehousePG compatibility

Platform compatibility

RHEL 7, RHEL 8, or RHEL 9.

System requirements

  • Java 8 or Java 11 on every host in the cluster.

External system compatibility

PXF bundles a client library for each connector. These versions determine which external system versions PXF can reach.

ConnectorCompatible version
HDFSHadoop 2.10.x
HiveHive 2.3.x metastore
HBaseHBase 1.3.x
Amazon S3 and other S3-compatible object stores, including MinIOS3 API, through the AWS SDK for Java 1.12.x
Azure Blob Storage and Azure Data Lake Storage Gen2Bundled with PXF's Hadoop 2.10.x client
Google Cloud StorageGCS connector 1.9.x
SQL databases, through JDBCAny JDBC 4.x-compliant driver you provide. PXF bundles the PostgreSQL driver, currently 42.7.x, by default.

Operations by connector

ConnectorReadWriteSupported formats
HDFSYesYesDelimited text, CSV, fixed-width, Parquet, ORC, Avro, JSON, SequenceFile, and Avro in a SequenceFile
Object stores (S3, Azure, Google Cloud Storage)YesYesSame formats as HDFS
Network file systemYesYesDelimited text, CSV, fixed-width, Parquet, ORC, Avro, and JSON
HiveYesNoWhatever format the Hive table itself uses, delimited text, SequenceFile, RCFile, ORC, Parquet, or Avro
HBaseYesNoNot applicable, HBase's own column-family model
SQL databases, through JDBCYesYesNot applicable, the external database's native column types

Filter pushdown support

ProfileComparisons (<, >, <=, >=, =, <>)LIKEIS [NOT] NULLINAND / ORNOT
jdbcYesYes⁴YesNoYesYes
*:parquetYes¹NoYes¹Yes¹Yes¹Yes¹
*:orc, except hive:orcYes¹ ³NoYes¹ ³Yes¹ ³Yes¹ ³Yes¹ ³
s3:parquet and s3:text with S3 SelectYesNoYesYesYesYes
hbaseYesNoYesNoYesNo
hive:text, hive on a text-format tableYes²NoNoNoYes²No
hive:rc, hive on an RCFile tableYes²NoYesYesYes²Yes
hive:orc, hive on an ORC tableYes²NoYesYesYes²Yes
hive on a Parquet tableYes²NoNoYesYes²Yes
hive:orc with VECTORIZE=trueYes²NoNoNoYes²No
  • ¹ PXF applies the predicate itself instead of the remote system. Doing so doesn't reduce the data transferred over the network, but it does reduce how much of that data PXF holds in memory at once while processing the result.
  • ² PXF supports partition pruning based on partition keys.
  • ³ PXF bases filtering on file-level, stripe-level, and row-level ORC statistics.
  • ⁴ The jdbc profile supports LIKE only for TEXT columns.

PXF doesn't support filter pushdown for any other profile, including *:avro, *:AvroSequenceFile, *:SequenceFile, *:json, *:text, *:csv, *:fixedwidth, and *:text:multi.

Supported data types for pushdown include INT2, INT4, INT8, CHAR, TEXT, VARCHAR, FLOAT, BOOL, and NUMERIC, except with hive on a Parquet table. DATE and TIMESTAMP push down only with the JDBC connector, hive:rc, hive:orc, and hive on an RCFile or ORC table.

Column projection support

Data sourceProfiles
SQL database, through JDBCjdbc
Hivehive on a text, Parquet, RCFile, or ORC table, hive:rc, hive:orc
HDFShdfs:orc, hdfs:parquet
Network file systemfile:orc, file:parquet
Object stores (S3, Azure, Google Cloud Storage)s3:orc, s3:parquet, wasbs:orc, wasbs:parquet, abfss:orc, abfss:parquet, gs:orc, gs:parquet

PXF may still turn projection off for a specific query if it can't serialize the query's filter, for example when a WHERE clause resolves to a boolean column rather than a comparison.