public static class Schema.Builder extends Object
Constructor and Description |
---|
Builder() |
Modifier and Type | Method and Description |
---|---|
Schema.Builder |
addColumn(ColumnMetaData metaData)
Add a column
|
Schema.Builder |
addColumnBoolean(String columnName)
Add a boolean (binary true/false) column
|
Schema.Builder |
addColumnCategorical(String name,
List<String> stateNames)
Add a Categorical column, with the specified state names
|
Schema.Builder |
addColumnCategorical(String name,
String... stateNames)
Add a Categorical column, with the specified state names
|
Schema.Builder |
addColumnDouble(String name)
Add a Double column with no restrictions on the allowable values, except for no NaN/infinite values allowed
|
Schema.Builder |
addColumnDouble(String name,
Double minAllowedValue,
Double maxAllowedValue)
Add a Double column with the specified restrictions (and no NaN/Infinite values allowed)
|
Schema.Builder |
addColumnDouble(String name,
Double minAllowedValue,
Double maxAllowedValue,
boolean allowNaN,
boolean allowInfinite)
Add a Double column with the specified restrictions
|
Schema.Builder |
addColumnFloat(String name)
Add a Float column with no restrictions on the allowable values, except for no NaN/infinite values allowed
|
Schema.Builder |
addColumnFloat(String name,
Float minAllowedValue,
Float maxAllowedValue)
Add a Float column with the specified restrictions (and no NaN/Infinite values allowed)
|
Schema.Builder |
addColumnFloat(String name,
Float minAllowedValue,
Float maxAllowedValue,
boolean allowNaN,
boolean allowInfinite)
Add a Float column with the specified restrictions
|
Schema.Builder |
addColumnInteger(String name)
Add an Integer column with no restrictions on the allowable values
|
Schema.Builder |
addColumnInteger(String name,
Integer minAllowedValue,
Integer maxAllowedValue)
Add an Integer column with the specified min/max allowable values
|
Schema.Builder |
addColumnLong(String name)
Add a Long column, with no restrictions on the min/max values
|
Schema.Builder |
addColumnLong(String name,
Long minAllowedValue,
Long maxAllowedValue)
Add a Long column with the specified min/max allowable values
|
Schema.Builder |
addColumnNDArray(String columnName,
long[] shape)
Add a NDArray column
|
Schema.Builder |
addColumnsDouble(String... columnNames)
Add multiple Double columns with no restrictions on the allowable values of the columns (other than no NaN/Infinite)
|
Schema.Builder |
addColumnsDouble(String pattern,
int minIdxInclusive,
int maxIdxInclusive)
A convenience method for adding multiple Double columns.
|
Schema.Builder |
addColumnsDouble(String pattern,
int minIdxInclusive,
int maxIdxInclusive,
Double minAllowedValue,
Double maxAllowedValue,
boolean allowNaN,
boolean allowInfinite)
A convenience method for adding multiple Double columns, with additional restrictions that apply to all columns
For example, to add columns "myDoubleCol_0", "myDoubleCol_1", "myDoubleCol_2", use
addColumnsDouble("myDoubleCol_%d",0,2,null,null,false,false) |
Schema.Builder |
addColumnsFloat(String... columnNames)
Add multiple Float columns with no restrictions on the allowable values of the columns (other than no NaN/Infinite)
|
Schema.Builder |
addColumnsFloat(String pattern,
int minIdxInclusive,
int maxIdxInclusive)
A convenience method for adding multiple Float columns.
|
Schema.Builder |
addColumnsFloat(String pattern,
int minIdxInclusive,
int maxIdxInclusive,
Float minAllowedValue,
Float maxAllowedValue,
boolean allowNaN,
boolean allowInfinite)
A convenience method for adding multiple Float columns, with additional restrictions that apply to all columns
For example, to add columns "myFloatCol_0", "myFloatCol_1", "myFloatCol_2", use
addColumnsFloat("myFloatCol_%d",0,2,null,null,false,false) |
Schema.Builder |
addColumnsInteger(String... names)
Add multiple Integer columns with no restrictions on the min/max allowable values
|
Schema.Builder |
addColumnsInteger(String pattern,
int minIdxInclusive,
int maxIdxInclusive)
A convenience method for adding multiple Integer columns.
|
Schema.Builder |
addColumnsInteger(String pattern,
int minIdxInclusive,
int maxIdxInclusive,
Integer minAllowedValue,
Integer maxAllowedValue)
A convenience method for adding multiple Integer columns.
|
Schema.Builder |
addColumnsLong(String... names)
Add multiple Long columns, with no restrictions on the allowable values
|
Schema.Builder |
addColumnsLong(String pattern,
int minIdxInclusive,
int maxIdxInclusive)
A convenience method for adding multiple Long columns.
|
Schema.Builder |
addColumnsLong(String pattern,
int minIdxInclusive,
int maxIdxInclusive,
Long minAllowedValue,
Long maxAllowedValue)
A convenience method for adding multiple Long columns.
|
Schema.Builder |
addColumnsString(String... columnNames)
Add multiple String columns with no restrictions on the allowable values
|
Schema.Builder |
addColumnsString(String pattern,
int minIdxInclusive,
int maxIdxInclusive)
A convenience method for adding multiple numbered String columns.
|
Schema.Builder |
addColumnsString(String pattern,
int minIdxInclusive,
int maxIdxInclusive,
String regex,
Integer minAllowedLength,
Integer maxAllowedLength)
A convenience method for adding multiple numbered String columns.
|
Schema.Builder |
addColumnString(String name)
Add a String column with no restrictions on the allowable values.
|
Schema.Builder |
addColumnString(String name,
String regex,
Integer minAllowableLength,
Integer maxAllowableLength)
Add a String column with the specified restrictions
|
Schema.Builder |
addColumnTime(String columnName,
org.joda.time.DateTimeZone timeZone)
Add a Time column with no restrictions on the min/max allowable times
NOTE: Time columns are represented by LONG (epoch millisecond) values.
|
Schema.Builder |
addColumnTime(String columnName,
org.joda.time.DateTimeZone timeZone,
Long minValidValue,
Long maxValidValue)
Add a Time column with the specified restrictions
NOTE: Time columns are represented by LONG (epoch millisecond) values.
|
Schema.Builder |
addColumnTime(String columnName,
TimeZone timeZone)
Add a Time column with no restrictions on the min/max allowable times
NOTE: Time columns are represented by LONG (epoch millisecond) values.
|
Schema |
build()
Create the Schema
|
public Schema.Builder addColumnFloat(String name)
name
- Name of the columnpublic Schema.Builder addColumnFloat(String name, Float minAllowedValue, Float maxAllowedValue)
name
- Name of the columnminAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionpublic Schema.Builder addColumnFloat(String name, Float minAllowedValue, Float maxAllowedValue, boolean allowNaN, boolean allowInfinite)
name
- Name of the columnminAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionallowNaN
- If false: don't allow NaN values. If true: allow.allowInfinite
- If false: don't allow infinite values. If true: allowpublic Schema.Builder addColumnsFloat(String... columnNames)
columnNames
- Names of the columns to addpublic Schema.Builder addColumnsFloat(String pattern, int minIdxInclusive, int maxIdxInclusive)
addColumnsFloat("myFloatCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)public Schema.Builder addColumnsFloat(String pattern, int minIdxInclusive, int maxIdxInclusive, Float minAllowedValue, Float maxAllowedValue, boolean allowNaN, boolean allowInfinite)
addColumnsFloat("myFloatCol_%d",0,2,null,null,false,false)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)minAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionallowNaN
- If false: don't allow NaN values. If true: allow.allowInfinite
- If false: don't allow infinite values. If true: allowpublic Schema.Builder addColumnDouble(String name)
name
- Name of the columnpublic Schema.Builder addColumnDouble(String name, Double minAllowedValue, Double maxAllowedValue)
name
- Name of the columnminAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionpublic Schema.Builder addColumnDouble(String name, Double minAllowedValue, Double maxAllowedValue, boolean allowNaN, boolean allowInfinite)
name
- Name of the columnminAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionallowNaN
- If false: don't allow NaN values. If true: allow.allowInfinite
- If false: don't allow infinite values. If true: allowpublic Schema.Builder addColumnsDouble(String... columnNames)
columnNames
- Names of the columns to addpublic Schema.Builder addColumnsDouble(String pattern, int minIdxInclusive, int maxIdxInclusive)
addColumnsDouble("myDoubleCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)public Schema.Builder addColumnsDouble(String pattern, int minIdxInclusive, int maxIdxInclusive, Double minAllowedValue, Double maxAllowedValue, boolean allowNaN, boolean allowInfinite)
addColumnsDouble("myDoubleCol_%d",0,2,null,null,false,false)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)minAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionallowNaN
- If false: don't allow NaN values. If true: allow.allowInfinite
- If false: don't allow infinite values. If true: allowpublic Schema.Builder addColumnInteger(String name)
name
- Name of the columnpublic Schema.Builder addColumnInteger(String name, Integer minAllowedValue, Integer maxAllowedValue)
name
- Name of the columnminAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionpublic Schema.Builder addColumnsInteger(String... names)
names
- Names of the integer columns to addpublic Schema.Builder addColumnsInteger(String pattern, int minIdxInclusive, int maxIdxInclusive)
addColumnsInteger("myIntegerCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)public Schema.Builder addColumnsInteger(String pattern, int minIdxInclusive, int maxIdxInclusive, Integer minAllowedValue, Integer maxAllowedValue)
addColumnsInteger("myIntegerCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)minAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionpublic Schema.Builder addColumnCategorical(String name, String... stateNames)
name
- Name of the columnstateNames
- Names of the allowable states for this categorical columnpublic Schema.Builder addColumnCategorical(String name, List<String> stateNames)
name
- Name of the columnstateNames
- Names of the allowable states for this categorical columnpublic Schema.Builder addColumnLong(String name)
name
- Name of the columnpublic Schema.Builder addColumnLong(String name, Long minAllowedValue, Long maxAllowedValue)
name
- Name of the columnminAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionpublic Schema.Builder addColumnsLong(String... names)
names
- Names of the Long columns to addpublic Schema.Builder addColumnsLong(String pattern, int minIdxInclusive, int maxIdxInclusive)
addColumnsLong("myLongCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)public Schema.Builder addColumnsLong(String pattern, int minIdxInclusive, int maxIdxInclusive, Long minAllowedValue, Long maxAllowedValue)
addColumnsLong("myLongCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)minAllowedValue
- Minimum allowed value (inclusive). If null: no restrictionmaxAllowedValue
- Maximum allowed value (inclusive). If null: no restrictionpublic Schema.Builder addColumn(ColumnMetaData metaData)
metaData
- metadata for this columnpublic Schema.Builder addColumnString(String name)
name
- Name of the columnpublic Schema.Builder addColumnsString(String... columnNames)
columnNames
- Names of the String columns to addpublic Schema.Builder addColumnString(String name, String regex, Integer minAllowableLength, Integer maxAllowableLength)
name
- Name of the columnregex
- Regex that the String must match in order to be considered valid. If null: no regex restrictionminAllowableLength
- Minimum allowable length for the String to be considered validmaxAllowableLength
- Maximum allowable length for the String to be considered validpublic Schema.Builder addColumnsString(String pattern, int minIdxInclusive, int maxIdxInclusive)
addColumnsString("myStringCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)public Schema.Builder addColumnsString(String pattern, int minIdxInclusive, int maxIdxInclusive, String regex, Integer minAllowedLength, Integer maxAllowedLength)
addColumnsString("myStringCol_%d",0,2)
pattern
- Pattern to use (via String.format). "%d" is replaced with column numbersminIdxInclusive
- Minimum column index to use (inclusive)maxIdxInclusive
- Maximum column index to use (inclusive)regex
- Regex that the String must match in order to be considered valid. If null: no regex restrictionminAllowedLength
- Minimum allowed length of strings (inclusive). If null: no restrictionmaxAllowedLength
- Maximum allowed length of strings (inclusive). If null: no restrictionpublic Schema.Builder addColumnTime(String columnName, TimeZone timeZone)
columnName
- Name of the columntimeZone
- Time zone of the time columnpublic Schema.Builder addColumnTime(String columnName, org.joda.time.DateTimeZone timeZone)
columnName
- Name of the columntimeZone
- Time zone of the time columnpublic Schema.Builder addColumnTime(String columnName, org.joda.time.DateTimeZone timeZone, Long minValidValue, Long maxValidValue)
columnName
- Name of the columntimeZone
- Time zone of the time columnminValidValue
- Minumum allowable time (in milliseconds). May be null.maxValidValue
- Maximum allowable time (in milliseconds). May be null.public Schema.Builder addColumnNDArray(String columnName, long[] shape)
columnName
- Name of the columnshape
- shape of the NDArray column. Use -1 in entries to specify as "variable length" in that dimensionpublic Schema.Builder addColumnBoolean(String columnName)
columnName
- Name of the new columnpublic Schema build()
Copyright © 2022. All rights reserved.