Class ParquetInstructions
java.lang.Object
com.illumon.iris.db.v2.locations.parquet.ParquetInstructions
- All Implemented Interfaces:
ColumnToCodecMappings
public abstract class ParquetInstructions extends Object implements ColumnToCodecMappings
This class provides instructions intended for read and write parquet operations (which take it as an optional
argument) specifying desired transformations. Examples are mapping column names and use of specific codecs during
(de)serialization.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ParquetInstructions.Builder
-
Field Summary
Fields Modifier and Type Field Description static ParquetInstructions
EMPTY
-
Constructor Summary
Constructors Constructor Description ParquetInstructions()
-
Method Summary
Modifier and Type Method Description static ParquetInstructions.Builder
builder()
abstract String
getCodecArgs(String columnName)
abstract String
getCodecName(String columnName)
abstract String
getColumnNameFromParquetColumnName(String parquetColumnName)
String
getColumnNameFromParquetColumnNameOrDefault(String parquetColumnName)
abstract String
getCompressionCodecName()
static String
getDefaultCompressionCodecName()
static int
getDefaultMaximumDictionaryKeys()
abstract int
getMaximumDictionaryKeys()
abstract String
getParquetColumnNameFromColumnNameOrDefault(String columnName)
abstract boolean
isLegacyParquet()
static void
setDefaultCompressionCodecName(String name)
Set the default forgetCompressionCodecName()
.static void
setDefaultMaximumDictionaryKeys(int maximumDictionaryKeys)
Set the default forgetMaximumDictionaryKeys()
.abstract boolean
useDictionary(String columnName)
-
Field Details
-
Constructor Details
-
ParquetInstructions
public ParquetInstructions()
-
-
Method Details
-
setDefaultCompressionCodecName
Set the default forgetCompressionCodecName()
.- Parameters:
name
- The new default- See Also:
ParquetInstructions.Builder.setCompressionCodecName(String)
-
getDefaultCompressionCodecName
- Returns:
- The default for
getCompressionCodecName()
-
setDefaultMaximumDictionaryKeys
public static void setDefaultMaximumDictionaryKeys(int maximumDictionaryKeys)Set the default forgetMaximumDictionaryKeys()
.- Parameters:
maximumDictionaryKeys
- The new default- See Also:
ParquetInstructions.Builder.setMaximumDictionaryKeys(int)
-
getDefaultMaximumDictionaryKeys
public static int getDefaultMaximumDictionaryKeys()- Returns:
- The default for
getMaximumDictionaryKeys()
-
getColumnNameFromParquetColumnNameOrDefault
-
getParquetColumnNameFromColumnNameOrDefault
-
getColumnNameFromParquetColumnName
-
getCodecName
- Specified by:
getCodecName
in interfaceColumnToCodecMappings
-
getCodecArgs
- Specified by:
getCodecArgs
in interfaceColumnToCodecMappings
-
useDictionary
- Returns:
- A hint that the writer should use dictionary-based encoding for writing this column; never evaluated for non-String columns, defaults to false
-
getCompressionCodecName
-
getMaximumDictionaryKeys
public abstract int getMaximumDictionaryKeys()- Returns:
- The maximum number of unique keys the writer should add to a dictionary page before switching to
non-dictionary encoding; never evaluated for non-String columns, ignored if
useDictionary(String)
-
isLegacyParquet
public abstract boolean isLegacyParquet() -
builder
-