hdfs_fdw
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
hdfs_fdw | 2.0.5 | FDW | PostgreSQL | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 8740 | hdfs_fdw | No | Yes | No | Yes | No | Yes | - |
| Related | aws_s3 duckdb_fdw kafka_fdw pg_clickhouse pg_parquet file_fdw pg_lake pg_bulkload pg_duckdb pg_ducklake |
|---|
Package/source version 2.3.3; SQL extension version 2.0.5. Live queries require a compatible Hive JDBC driver and Hadoop/Hive service.
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | MIXED | 2.0.5 | 1817161514 | hdfs_fdw | - |
| RPM | PGDG | 2.3.3 | 1817161514 | hdfs_fdw_$v | - |
| DEB | PIGSTY | 2.3.3 | 1817161514 | postgresql-$v-hdfs-fdw | default-jre-headless |
Build
You can build the DEB packages for hdfs_fdw using pig build:
Install
You can install hdfs_fdw directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Create Extension:
Usage
Create Server
Server Options: host (default localhost), port (default 10000), client_type (hiveserver2 or spark, default hiveserver2), auth_type (NOSASL or LDAP), connect_timeout (default 300), fetch_size (default 10000), log_remote_sql (default false), use_remote_estimate (default false), enable_join_pushdown (default true), enable_aggregate_pushdown (default true), enable_order_by_pushdown (default true).
Create User Mapping
For NOSASL authentication, omit the OPTIONS clause entirely.
Create Foreign Table
Table Options: dbname (default default), table_name (defaults to foreign table name), enable_join_pushdown, enable_aggregate_pushdown, enable_order_by_pushdown.
Query
Spark Example
Pushdown Features
hdfs_fdw pushes down WHERE clauses, JOINs, aggregate functions, ORDER BY, and LIMIT/OFFSET to the remote Hive/Spark server. Control pushdown at the session level:
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)