AbsaOSS / AbsaOSS/cobrix

Add the ability to reassemble a multi-segment file

Open
#612 0 comments 0 reactions 1 assignee Claimed by @yruslan View on GitHub
enhancement
Dominant language
Scala
Stars
170
Forks
96
Avg merge
57m
Merged PRs (30d)
2

Description

## Background
Multisegment files often have this structure:
```
file header record
segment header record
main segment record
child1 segment record
child2 segment record
...
segment footer record
segment header record
main segment record
child1 segment record
child2 segment record
...
segment footer record
file footer record
```

## Feature
Implement options that would allow reassembling multiple segment into records like this:
```
file header | segment header | main segment | child1 segment | child2 segment | segment footer | file footer
file header | segment header | main segment | child1 segment | child2 segment | segment footer | file footer
file header | segment header | main segment | child1 segment | child2 segment | segment footer | file footer
```

Not every type of segment should be present. The only mandatory segment is the main segment of a record.

## Proposed Solution
This kind of processing is possible using windowing functions. But this can be very slow.

Adding support for such a processing on the record reader level can significantly improve the performance.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.