Package com.illumon.iris.importers.util
Class JsonImport.Builder
java.lang.Object
com.illumon.iris.importers.util.ImportBuilder<BUILDER_TYPE,IMPORTER_TYPE>
com.illumon.iris.importers.util.FileImportBuilder<JsonImport.Builder,JsonImport>
com.illumon.iris.importers.util.JsonImport.Builder
- All Implemented Interfaces:
JsonImportBuilder
- Enclosing class:
- JsonImport
public static class JsonImport.Builder
extends FileImportBuilder<JsonImport.Builder,JsonImport>
implements JsonImportBuilder
The Builder class allows setting properties for a JSON import and provides a
build()
method which returns a JsonImport object that will use the configured properties to import batch data.-
Field Summary
Fields inherited from class com.illumon.iris.importers.util.FileImportBuilder
sourceDirectory, sourceFile, sourceGlobFields inherited from class com.illumon.iris.importers.util.ImportBuilder
destinationDirectory, destinationPartitions, namespace, outputMode, partitionColumn, schemaService, sourceName, strict, table -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild()Creates a JsonImport object using the properties that have been set in theJsonImport.Builder.protected JsonImport.BuildergetThis()Returns this builder.setColumnNames(String columnNames) Sets column names.setColumnNames(List<String> columnNames) Sets column names.setConstantColumnValue(String constantColumnValue) Sets the value to use for source columns with a sourceType of CONSTANT.setFieldPathSeparator(String fieldPathSeparator) Sets a String to use as the separator when generating column names from nested JSON data.setMaxInferItems(long maxInferItems) Sets a limit of the maximum number of JSON objects to examine when inferring which columns are present in the file.Methods inherited from class com.illumon.iris.importers.util.FileImportBuilder
setSourceDirectory, setSourceDirectory, setSourceFile, setSourceGlobMethods inherited from class com.illumon.iris.importers.util.ImportBuilder
setDestinationDirectory, setDestinationPartitions, setDestinationPartitions, setOutputMode, setOutputMode, setPartitionColumn, setSchemaService, setSourceName, setStrictMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.illumon.iris.importers.util.JsonImportBuilder
setDestinationDirectory, setDestinationPartitions, setDestinationPartitions, setOutputMode, setOutputMode, setPartitionColumn, setSourceDirectory, setSourceDirectory, setSourceFile, setSourceGlob, setSourceName, setStrict
-
Constructor Details
-
Builder
Creates the JsonImportBuilder object. Normally accessed throughJsonImport.builder(String, String).- Parameters:
namespace- The String name of the namespace into which data will be imported.table- The String name of the table into which data will be imported.
-
-
Method Details
-
setConstantColumnValue
Sets the value to use for source columns with a sourceType of CONSTANT.- Specified by:
setConstantColumnValuein interfaceJsonImportBuilder- Parameters:
constantColumnValue- String value for the constant column.- Returns:
- this builder.
-
setMaxInferItems
Sets a limit of the maximum number of JSON objects to examine when inferring which columns are present in the file. Inference is necessary because JSON has no internal "schema".- Specified by:
setMaxInferItemsin interfaceJsonImportBuilder- Parameters:
maxInferItems- The long value for the limit. Default is no limit.- Returns:
- this builder.
-
setColumnNames
Sets column names.- Specified by:
setColumnNamesin interfaceJsonImportBuilder- Parameters:
columnNames- A comma-separated String of column names in order left to right.- Returns:
- this builder.
-
setColumnNames
Sets column names.- Specified by:
setColumnNamesin interfaceJsonImportBuilder- Parameters:
columnNames- A List of Strings of column names in order left to right.- Returns:
- this builder.
-
setFieldPathSeparator
Sets a String to use as the separator when generating column names from nested JSON data.- Specified by:
setFieldPathSeparatorin interfaceJsonImportBuilder- Parameters:
fieldPathSeparator- A String separator. Default is the underscore character ("_").- Returns:
- this builder.
-
getThis
Description copied from class:ImportBuilderReturns this builder. Concrete subclasses mus provide "this" so that the setters can chain properly.- Specified by:
getThisin classImportBuilder<JsonImport.Builder,JsonImport> - Returns:
- this builder.
-
build
Creates a JsonImport object using the properties that have been set in theJsonImport.Builder.- Specified by:
buildin interfaceJsonImportBuilder- Specified by:
buildin classImportBuilder<JsonImport.Builder,JsonImport> - Returns:
- A
JsonImportobject.
-