Acceldata Open Source Data Platform
ODP 3.2.3.5-2
Release Notes
What is ODP
Installation
Configuration and Management
Upgrade
USER GUIDES
Security
Uninstall ODP
Title
Message
Create new category
What is the title of your new category?
Edit page index title
What is the title of the page index?
Edit category
What is the new title of your category?
Edit link
What is the new title and URL of your link?
Hive
Summarize Page
Copy Markdown
Open in ChatGPT
Open in Claude
Connect to Cursor
Connect to VS Code
This guide covers configuring Hive to access S3A storage at the session level, enabling users to work with S3 buckets without requiring cluster-wide configuration changes or service restarts.
Configuration Methods
Method 1: Session-Level Configuration (Recommended)
This method uses secure credential files (JCEKS) stored on HDFS.
Step 1: Create a credential file on HDFS
Bash
x
hadoop credential create fs.s3a.access.key -value <access_key> \ -provider jceks://hdfs@<namenode>:8020/user/hive/s3.jcekshadoop credential create fs.s3a.secret.key -value <secret_key> \ -provider jceks://hdfs@<namenode>:8020/user/hive/s3.jceksStep 2: Add to hive-site.xml
Bash
hive.security.authorization.sqlstd.confwhitelist.append=fs\\.s3a\\.path\\.style\\.access|fs\\.s3a\\.security\\.credential\\.provider\\.path|fs\\.s3a\\.bucket\\..*\\.security\\.credential\\.provider\\.pathStep 3: Set session properties in Beeline
Bash
set fs.s3a.endpoint=s3.<region>.amazonaws.com;set metaconf:fs.s3a.endpoint=s3.<region>.amazonaws.com;set fs.s3a.security.credential.provider.path=jceks://hdfs@<namenode>:8020/user/hive/s3.jceks;set metaconf:fs.s3a.security.credential.provider.path=jceks://hdfs@<namenode>:8020/user/hive/s3.jceks;Method 2: Static Configuration (Cluster-Wide)
Add the following properties to HDFS, Hive, Tez, and Spark XML configuration files:
Bash
<property> <name>fs.s3a.access.key</name> <value>YOUR_ACCESS_KEY</value></property><property> <name>fs.s3a.secret.key</name> <value>YOUR_SECRET_KEY</value></property><property> <name>fs.s3a.endpoint</name> <value>YOUR_S3_ENDPOINT</value></property><property> <name>fs.s3a.path.style.access</name> <value>true</value></property>Update hive.conf.hidden.list in Custom hiveserver2-site to exclude S3A credentials:
Bash
hive.conf.hidden.list=javax.jdo.option.ConnectionPassword,\hive.server2.keystore.password,\fs.s3a.proxy.password,\dfs.adls.oauth2.credential,\fs.adl.oauth2.credentialStatic configuration exposes credentials in plain text across the cluster and is not recommended for multi-tenant environments.
Known Limitations
- Multiple Buckets Accessing multiple S3 buckets within a single session requires additional HMS changes and is currently not supported.
- Impala Session-level S3 credential configuration is not supported.
- Spark SQL INSERT S3 credentials do not propagate to HMS. Use the Spark DataFrame API instead.
Support Matrix
Supported Versions
- ODP 3.2:
3.2.3.5-2and later - ODP 3.3:
3.3.6.3-101and later
| Operation | Hive (Beeline) | Spark (Direct) | Spark + HWC |
|---|---|---|---|
| Create Table | ✅ | ❌ | ✅ |
| Insert (Static/Dynamic) | ✅ | ⚠️* | ✅ |
| Show Partitions | ✅ | ✅ | ✅ |
| MSCK Repair | ✅ | ❌ | ✅ |
| Alter Table | ✅ | ❌ | ✅ |
| Drop Table | ✅ | ❌ | ✅ |
| Alter / Drop Partition | ✅ | ❌ | ✅ |
Legend
- ✅ Supported
- ❌ Not Supported
- ⚠️* Use DataFrame API; run
MSCK REPAIRin Beeline after insert
Spark + HWC Example
Bash
import com.acceldata.hwc.HiveWarehouseSessionval hive = HiveWarehouseSession.session(spark).build()hive.execute("set fs.s3a.endpoint=s3.<region>.amazonaws.com")hive.execute("set metaconf:fs.s3a.endpoint=s3.<region>.amazonaws.com")hive.execute("set fs.s3a.security.credential.provider.path=jceks://hdfs@<namenode>:8020/user/hive/s3.jceks")hive.execute("set metaconf:fs.s3a.security.credential.provider.path=jceks://hdfs@<namenode>:8020/user/hive/s3.jceks")Spark DataFrame Write (Workaround for INSERT Limitation)
Bash
df.write.mode("append").insertInto("table_name")Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
Last updated on Jan 29, 2026
Was this page helpful?
Next to read:
Configuring PortsDiscard Changes
Do you want to discard your current changes and overwrite with the template?
Archive Synced Block
Message
Create new Template
What is this template's title?
Delete Template
Message
On This Page
HiveMethod 1: Session-Level Configuration (Recommended)Step 1: Create a credential file on HDFSStep 2: Add to hive-site.xmlStep 3: Set session properties in BeelineMethod 2: Static Configuration (Cluster-Wide)Known LimitationsSupport MatrixSpark + HWC ExampleSpark DataFrame Write (Workaround for INSERT Limitation)