You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project is a proof of concept (POC) for a Spark Scala application using S3 storage (MinIO)
without HDFS or YARN. It demonstrates integration with Iceberg, Hudi, Delta Lake, Kafka,
Gravitino, and Celeborn on a standalone Spark cluster.
In standalone cluster mode, --packages has known limitations
with Ivy-based dependency resolution. This project uses a two-pronged approach:
Shaded uber-JAR (maven-shade-plugin): All compile-scope dependencies are bundled into a
single JAR (spark-scala-example-1.0-SNAPSHOT-shaded.jar), avoiding classpath conflicts.
--jars with HTTP URLs: External dependencies not bundled in the uber-JAR (e.g. Hadoop AWS,
Kafka, Hudi bundles, Gravitino connector) are distributed via direct HTTP URLs pointing to a
Maven mirror (Huawei Cloud / Aliyun), allowing Spark to download them consistently on all
driver and executor nodes.
Sample Applications
Core Examples
Class
Description
SparkPi
Classic Pi estimation with Spark
WordCount
Text word frequency count
DataProcessExample
Read CSV from S3 and join via Spark SQL
DataFrameCreate
DataFrame creation examples
DataFrameForJoin
DataFrame join operations
FixCreateDF
Fix for DataFrame creation
RepartitionExample
Repartition and coalesce examples
Table Format Examples
Class
Description
DeltaSimple
Delta Lake read/write with S3
HudiSimple
Apache Hudi read/write with S3
HudiSQLSimple
Apache Hudi via Spark SQL with HoodieCatalog
IcebergSimple
Apache Iceberg with Hadoop Catalog
IcebergRestSimple
Apache Iceberg with REST Catalog + S3FileIO
IcebergRestMultiSupportSimple
Multiple Iceberg REST Catalogs in one session
Streaming Examples
Class
Description
OrdersAnalysis
Order data analysis
OrdersAnalysisKafka
Streaming order analysis with Kafka source
Advanced Examples
Class
Description
GravitinoSparkSimple
Gravitino Spark connector for multi-catalog federation