This is an automated email from the ASF dual-hosted git repository.

danny0405 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 957103416a7 [HUDI-8363] Support to provide custom spark app name for 
HoodieStreamer (#12094)
957103416a7 is described below

commit 957103416a787cf07b025d6419b9fe4de66df01c
Author: Prathit malik <[email protected]>
AuthorDate: Tue Oct 15 07:10:07 2024 +0530

    [HUDI-8363] Support to provide custom spark app name for HoodieStreamer 
(#12094)
---
 .../apache/hudi/utilities/streamer/HoodieStreamer.java    | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java
 
b/hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java
index e10582f52a8..22b9071d0b6 100644
--- 
a/hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java
+++ 
b/hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java
@@ -434,6 +434,11 @@ public class HoodieStreamer implements Serializable {
         + " committed checkpoint, and rely on other configs to pick the 
starting offsets).")
     public String ignoreCheckpoint = null;
 
+    @Parameter(names = {"--spark-app-name"},
+            description = "spark app name to use while creating spark context."
+                    + " If not defined then defaults to 
streamer-{cfg.targetTableName}.")
+    public String sparkAppName = "";
+
     public boolean isAsyncCompactionEnabled() {
       return continuousMode && !forceDisableCompaction
           && 
HoodieTableType.MERGE_ON_READ.equals(HoodieTableType.valueOf(tableType));
@@ -593,10 +598,16 @@ public class HoodieStreamer implements Serializable {
     final Config cfg = getConfig(args);
     Map<String, String> additionalSparkConfigs = 
SchedulerConfGenerator.getSparkSchedulingConfigs(cfg);
     JavaSparkContext jssc = null;
+    String sparkAppName;
+    if (!StringUtils.isNullOrEmpty(cfg.sparkAppName)) {
+      sparkAppName = cfg.sparkAppName;
+    } else {
+      sparkAppName = "streamer-" + cfg.targetTableName;
+    }
     if (StringUtils.isNullOrEmpty(cfg.sparkMaster)) {
-      jssc = UtilHelpers.buildSparkContext("streamer-" + cfg.targetTableName, 
additionalSparkConfigs);
+      jssc = UtilHelpers.buildSparkContext(sparkAppName, 
additionalSparkConfigs);
     } else {
-      jssc = UtilHelpers.buildSparkContext("streamer-" + cfg.targetTableName, 
cfg.sparkMaster, additionalSparkConfigs);
+      jssc = UtilHelpers.buildSparkContext(sparkAppName, cfg.sparkMaster, 
additionalSparkConfigs);
     }
     if (cfg.enableHiveSync) {
       LOG.warn("--enable-hive-sync will be deprecated in a future release; 
please use --enable-sync instead for Hive syncing");

Reply via email to