Processing time is increased with hudi metadata enable
- Dominant language
- Java
- Stars
- 6.2k
- Forks
- 2.5k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 111
Description
We run spark streaming application, where we upsert data in hudi,
We have around 2000 partitions in our hudi dataset, we enabled metadata in our hudi tables, after that we could see drastic change in processing time. current processing time is 15 minutes. earlier processing time is 1 min or 1 min 30 sec.
We use inline compaction
with metadata enable which compaction would you prefer? Async or inline?
Wts the difference between Async and inline compaction.
Please suggest
Hudi props :
DataSourceWriteOptions.TABLE_TYPE.key() -> DataSourceWriteOptions.MOR_TABLE_TYPE_OPT_VAL,
DataSourceWriteOptions.RECORDKEY_FIELD.key() -> "id",
DataSourceWriteOptions.PARTITIONPATH_FIELD.key() -> "col",
DataSourceWriteOptions.PRECOMBINE_FIELD.key() -> "optime",
DataSourceWriteOptions.HIVE_SYNC_ENABLED.key() -> "true",
DataSourceWriteOptions.HIVE_PARTITION_FIELDS.key() -> "col",
DataSourceWriteOptions.HIVE_PARTITION_EXTRACTOR_CLASS.key() -> classOf[MultiPartKeysValueExtractor].getName,
DataSourceWriteOptions.HIVE_SYNC_MODE.key() -> "hms",
DataSourceWriteOptions.HIVE_USE_JDBC.key() -> "false",
HoodieCompactionConfig.INLINE_COMPACT_TRIGGER_STRATEGY.key() -> CompactionTriggerStrategy.TIME_ELAPSED.name,
HoodieCompactionConfig.INLINE_COMPACT_TIME_DELTA_SECONDS.key() -> String.valueOf(60 * 60),
HoodieCompactionConfig.CLEANER_COMMITS_RETAINED.key() -> "800",
HoodieCompactionConfig.ASYNC_CLEAN.key() -> "false",
HoodieCompactionConfig.INLINE_COMPACT.key() -> "true",
HoodieCompactionConfig.MIN_COMMITS_TO_KEEP.key() -> "801",
HoodieCompactionConfig.MAX_COMMITS_TO_KEEP.key() -> "825",
HoodieMetricsConfig.TURN_METRICS_ON.key() -> "true",
HoodieMetricsConfig.METRICS_REPORTER_TYPE_VALUE.key() -> MetricsReporterType.DATADOG.name(),
HoodieMetricsDatadogConfig.API_SITE_VALUE.key() -> "US",
HoodieMetricsDatadogConfig.METRIC_PREFIX_VALUE.key() -> "tacticalnovusingest.qa.hudi",
HoodieMetricsDatadogConfig.API_KEY_SUPPLIER.key() -> "com.tr.indigo.tacticalnovusingest.utils.DatadogKeySupplier",
HoodieMetadataConfig.ENABLE.key() -> "false",
HoodieMetadataConfig.CLEANER_COMMITS_RETAINED.key() -> "800",
HoodieMetadataConfig.MIN_COMMITS_TO_KEEP.key() -> "801",
HoodieMetadataConfig.MAX_COMMITS_TO_KEEP.key() -> "825",
HoodieWriteConfig.ROLLBACK_USING_MARKERS_ENABLE.key() -> "false"
Contributor guide
No contributing guide indexed for this repository
Research direction
Use the listed Spark streaming upsert configuration as the reproduction entry point, especially metadata enablement and the inline compaction settings. Compare inline and async compaction with about 2,000 partitions, recording processing time and compaction behavior. The issue names no source file or test, and a useful result would need to document the cause and recommended configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spark
- Domain
- data-engineering, performance, stream-processing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100