[BugFix] insert overwrite textformat hive table didn't set delimiter (backport #67199) #67264
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I'm doing:
When writing data to a Hive TextFile table using a Hive catalog with ^[ as the delimiter, all fields are merged into a single field when querying in StarRocks, causing data parsing errors.
The reason is that StarRocks doesn't set the parameters of serdeInfo when creating a new partition. So delimiters in TextFileFormatDesc are null when reading.
What I'm doing:
Fixes #issue
Call setSerDeParameters() in buildHivePartition() so that StarRocks can get SerDeParameters during reading.
What type of PR is this:
Does this PR entail a change in behavior?
If yes, please specify the type of change:
Checklist:
Bugfix cherry-pick branch check:
Note
Fixes missing SerDe parameters on newly created Hive partitions, preserving delimiters for TextFile reads.
.setSerDeParameters(table.getSerdeProperties())inHiveCommitter.buildHivePartitionandHiveMetadata.addPartitionHivePartitionto carryserDeParameters(constructor, getter, builder)HiveMetastoreApiConverterwhen converting partitionssetSerDeParametersWritten by Cursor Bugbot for commit 1f1885e. This will update automatically on new commits. Configure here.