Add 'mask' command to parquet-tools/parquet-cli
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.6k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 33
Description
Some personal data columns need to be masked instead of being pruned(Parquet-1791). We need a tool to replace the raw data columns with masked value. The masked value could be hash, null, redact etc. For the unchanged columns, they should be moved as a whole like 'merge', 'prune' command in Parquet-tools.
Implementing this feature in file format is 10X faster than doing it by rewriting the table data in the query engine.
**Reporter**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli
**Assignee**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli
#### Subtasks:
- [ ] [Add null command ](https://github.com/apache/parquet-java/issues/2525)
- [ ] [Add hash functionality ](https://github.com/apache/parquet-java/issues/1601)
**Note**: *This issue was originally created as [PARQUET-1792](https://issues.apache.org/jira/browse/PARQUET-1792). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in the parquet-tools/parquet-cli command implementations, using the existing merge and prune commands as references. Review the linked null and hash subtasks before deciding how masking should support hash, null, and redact values. Done means a mask command replaces selected raw columns while moving unchanged columns as a whole.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cli, data-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100