public class PinotDataAndQueryAnonymizer extends Object
AnonymizeDataCommand to learn
how this tool can be invoked from command line.
Future workadd --
- Add support for partitioning (where dataset is hash partitioned on column)
- Potential memory explosion for extreme high cardinality global dictionary columns
Please read the design doc for details.
- Add support for no dictionary filter columns (Generally this should not happen since
whoever is using filter on a column should have created a dictionary for that column.
But in case the filter column does not have segment dictionary, then we will not be
able to build global dictionary)
- Make the global dictionary building phase per column basis to reduce the memory footprint
- Add support for generating queries when a predicate was not there in the original table
and therefore not present in global dictionary either. The current implementation won't be
able to rewrite this predicate correctly. It will substitute the original value with null.| Modifier and Type | Class and Description |
|---|---|
static class |
PinotDataAndQueryAnonymizer.FilterColumnExtractor
*
Filter Column Extractor *
*
|
static class |
PinotDataAndQueryAnonymizer.QueryGenerator
*
QueryGenerator *
*
|
| Constructor and Description |
|---|
PinotDataAndQueryAnonymizer(String segmentDir,
String outputDir,
String fileNamePrefix,
Map<String,Integer> globalDictionaryColumns,
Set<String> columnsNotAnonymized,
boolean mapBasedGlobalDictionary)
Create an instance of PinotDataGenerator
|
| Modifier and Type | Method and Description |
|---|---|
void |
buildGlobalDictionaries()
*
Global Dictionary Builder *
*
|
void |
generateAvroFiles()
*
Data Generator *
*
|
public PinotDataAndQueryAnonymizer(String segmentDir, String outputDir, String fileNamePrefix, Map<String,Integer> globalDictionaryColumns, Set<String> columnsNotAnonymized, boolean mapBasedGlobalDictionary)
outputDir - parent directory where avro files will be generatedsegmentDir - directory containing segmentfileNamePrefix - generated avro file name prefixCopyright © 2018–2020 Apache Software Foundation. All rights reserved.