yihua commented on code in PR #11943:
URL: https://github.com/apache/hudi/pull/11943#discussion_r1805451055
##########
hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java:
##########
@@ -72,8 +72,14 @@ public String bootstrap(
help = "Class for Full bootstrap input provider") final String
fullBootstrapInputProvider,
@ShellOption(value = {"--schemaProviderClass"}, defaultValue = "",
help = "SchemaProvider to attach schemas to bootstrap source data")
final String schemaProviderClass,
- @ShellOption(value = {"--payloadClass"}, defaultValue =
"org.apache.hudi.common.model.OverwriteWithLatestAvroPayload",
- help = "Payload Class") final String payloadClass,
+ @ShellOption(value = {"--payloadClass"}, defaultValue = "",
+ help = "Payload Class (deprecated). Use merge-mode for overwrite or
event time merging.") final String payloadClass,
Review Comment:
```suggestion
help = "Payload Class (deprecated). Use `--merge-mode` to specify
the equivalent payload update behavior.") final String payloadClass,
```
##########
hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java:
##########
@@ -72,8 +72,14 @@ public String bootstrap(
help = "Class for Full bootstrap input provider") final String
fullBootstrapInputProvider,
@ShellOption(value = {"--schemaProviderClass"}, defaultValue = "",
help = "SchemaProvider to attach schemas to bootstrap source data")
final String schemaProviderClass,
- @ShellOption(value = {"--payloadClass"}, defaultValue =
"org.apache.hudi.common.model.OverwriteWithLatestAvroPayload",
- help = "Payload Class") final String payloadClass,
+ @ShellOption(value = {"--payloadClass"}, defaultValue = "",
+ help = "Payload Class (deprecated). Use merge-mode for overwrite or
event time merging.") final String payloadClass,
+ @ShellOption(value = {"--merge-mode", "--record-merge-mode"},
defaultValue = "",
+ help = "Merge mode to use. 'EVENT_TIME_ORDERING',
'OVERWRITE_WITH_LATEST', or 'CUSTOM' if you want to set a merge strategy")
final String recordMergeMode,
+ @ShellOption(value = {"--merger-strategy", "--record-merger-strategy"},
defaultValue = "",
Review Comment:
Do we have any validation to check that the merge strategy ID is only set
for `CUSTOM` merge mode?
##########
hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java:
##########
@@ -72,8 +72,14 @@ public String bootstrap(
help = "Class for Full bootstrap input provider") final String
fullBootstrapInputProvider,
@ShellOption(value = {"--schemaProviderClass"}, defaultValue = "",
help = "SchemaProvider to attach schemas to bootstrap source data")
final String schemaProviderClass,
- @ShellOption(value = {"--payloadClass"}, defaultValue =
"org.apache.hudi.common.model.OverwriteWithLatestAvroPayload",
- help = "Payload Class") final String payloadClass,
+ @ShellOption(value = {"--payloadClass"}, defaultValue = "",
+ help = "Payload Class (deprecated). Use merge-mode for overwrite or
event time merging.") final String payloadClass,
+ @ShellOption(value = {"--merge-mode", "--record-merge-mode"},
defaultValue = "",
+ help = "Merge mode to use. 'EVENT_TIME_ORDERING',
'OVERWRITE_WITH_LATEST', or 'CUSTOM' if you want to set a merge strategy")
final String recordMergeMode,
Review Comment:
```suggestion
help = "Merge mode to use. 'EVENT_TIME_ORDERING',
'OVERWRITE_WITH_LATEST', or 'CUSTOM' if you want to set a custom merge strategy
and implementation.") final String recordMergeMode,
```
##########
hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java:
##########
@@ -72,8 +72,14 @@ public String bootstrap(
help = "Class for Full bootstrap input provider") final String
fullBootstrapInputProvider,
@ShellOption(value = {"--schemaProviderClass"}, defaultValue = "",
help = "SchemaProvider to attach schemas to bootstrap source data")
final String schemaProviderClass,
- @ShellOption(value = {"--payloadClass"}, defaultValue =
"org.apache.hudi.common.model.OverwriteWithLatestAvroPayload",
- help = "Payload Class") final String payloadClass,
+ @ShellOption(value = {"--payloadClass"}, defaultValue = "",
+ help = "Payload Class (deprecated). Use merge-mode for overwrite or
event time merging.") final String payloadClass,
+ @ShellOption(value = {"--merge-mode", "--record-merge-mode"},
defaultValue = "",
+ help = "Merge mode to use. 'EVENT_TIME_ORDERING',
'OVERWRITE_WITH_LATEST', or 'CUSTOM' if you want to set a merge strategy")
final String recordMergeMode,
+ @ShellOption(value = {"--merger-strategy", "--record-merger-strategy"},
defaultValue = "",
+ help = "Merge strategy to use. Only set when using 'CUSTOM' merge
mode") final String recordMergerStrategy,
Review Comment:
```suggestion
help = "ID of the merge strategy to use. Only set when using
'CUSTOM' merge mode") final String recordMergerStrategy,
```
##########
hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java:
##########
@@ -72,8 +72,14 @@ public String bootstrap(
help = "Class for Full bootstrap input provider") final String
fullBootstrapInputProvider,
@ShellOption(value = {"--schemaProviderClass"}, defaultValue = "",
help = "SchemaProvider to attach schemas to bootstrap source data")
final String schemaProviderClass,
- @ShellOption(value = {"--payloadClass"}, defaultValue =
"org.apache.hudi.common.model.OverwriteWithLatestAvroPayload",
- help = "Payload Class") final String payloadClass,
+ @ShellOption(value = {"--payloadClass"}, defaultValue = "",
+ help = "Payload Class (deprecated). Use merge-mode for overwrite or
event time merging.") final String payloadClass,
+ @ShellOption(value = {"--merge-mode", "--record-merge-mode"},
defaultValue = "",
Review Comment:
Do we want to keep only one config here instead of alias?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]