This is an automated email from the ASF dual-hosted git repository.
voonhous pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 3a3a32fb48f4 docs(hudi-notebooks): note S3A works with any
S3-compatible object store (#19423)
3a3a32fb48f4 is described below
commit 3a3a32fb48f476be80735cbea5b5eb3dd71b6e01
Author: Gonzalo Peña-Castellanos <[email protected]>
AuthorDate: Thu Aug 27 23:13:47 2026 -0500
docs(hudi-notebooks): note S3A works with any S3-compatible object store
(#19423)
* docs: note S3A works with any S3-compatible object store
Signed-off-by: Gonzalo Peña-Castellanos <[email protected]>
* docs(hudi-notebooks): make the S3A snippet valid XML and scope path-style
access
Angle-bracket placeholders inside <value> do not parse if the block is
pasted into
core-site.xml, so use plain placeholder text. The path-style property is
what MinIO and
most other providers need but Amazon S3 does not, so say so next to it the
way the
endpoint property already does.
---------
Signed-off-by: Gonzalo Peña-Castellanos <[email protected]>
Co-authored-by: voon <[email protected]>
---
hudi-notebooks/README.md | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/hudi-notebooks/README.md b/hudi-notebooks/README.md
index ddabc6121ffc..479a55676d0b 100644
--- a/hudi-notebooks/README.md
+++ b/hudi-notebooks/README.md
@@ -79,6 +79,42 @@ This project provides a ready-to-use Docker Compose
environment for running Apac
- Spark, Hive, and Hudi configs are in `conf/` and automatically copied into
containers.
- S3 access keys and endpoints are set for MinIO and referenced in Spark/Hive
configs.
+### Using another S3-compatible object store
+
+Hudi reads and writes through the Hadoop S3A connector, so the same `fs.s3a.*`
+settings work against any S3-compatible object store: Amazon S3, or a
compatible
+provider such as Backblaze B2, Cloudflare R2, or MinIO. This demo points
+`fs.s3a.endpoint` at the bundled MinIO service; to target a different store,
+edit `conf/hadoop/core-site.xml` (and the matching Spark/Hive configs) with
that
+provider's endpoint and credentials:
+
+```xml
+<property>
+ <name>fs.s3a.endpoint</name>
+ <!-- Amazon S3: https://s3.<region>.amazonaws.com
+ any other provider: its S3 endpoint URL -->
+ <value>https://your-s3-endpoint.example.com</value>
+</property>
+<property>
+ <name>fs.s3a.access.key</name>
+ <value>ACCESS_KEY</value>
+</property>
+<property>
+ <name>fs.s3a.secret.key</name>
+ <value>SECRET_KEY</value>
+</property>
+<property>
+ <name>fs.s3a.path.style.access</name>
+ <!-- MinIO and most other providers need path-style addressing;
+ leave this out for Amazon S3 -->
+ <value>true</value>
+</property>
+```
+
+For Amazon S3 the region-default endpoint is used when `fs.s3a.endpoint` is
+omitted; most other S3-compatible providers need an explicit endpoint and
+`fs.s3a.path.style.access=true`.
+
## 📒 Example: Using JupyterLab
1. Open [http://localhost:8888](http://localhost:8888) in your browser.