Class OpenXJsonSerDe
- java.lang.Object
-
- software.amazon.awssdk.services.firehose.model.OpenXJsonSerDe
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<OpenXJsonSerDe.Builder,OpenXJsonSerDe>
@Generated("software.amazon.awssdk:codegen") public final class OpenXJsonSerDe extends Object implements SdkPojo, Serializable, ToCopyableBuilder<OpenXJsonSerDe.Builder,OpenXJsonSerDe>
The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceOpenXJsonSerDe.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static OpenXJsonSerDe.Builderbuilder()BooleancaseInsensitive()When set totrue, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.Map<String,String>columnToJsonKeyMappings()Maps column names to JSON keys that aren't identical to the column names.BooleanconvertDotsInJsonKeysToUnderscores()When set totrue, specifies that the names of the keys include dots and that you want Kinesis Data Firehose to replace them with underscores.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)booleanhasColumnToJsonKeyMappings()For responses, this returns true if the service returned a value for the ColumnToJsonKeyMappings property.inthashCode()List<SdkField<?>>sdkFields()static Class<? extends OpenXJsonSerDe.Builder>serializableBuilderClass()OpenXJsonSerDe.BuildertoBuilder()StringtoString()Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
convertDotsInJsonKeysToUnderscores
public final Boolean convertDotsInJsonKeysToUnderscores()
When set to
true, specifies that the names of the keys include dots and that you want Kinesis Data Firehose to replace them with underscores. This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is "a.b", you can define the column name to be "a_b" when using this option.The default is
false.- Returns:
- When set to
true, specifies that the names of the keys include dots and that you want Kinesis Data Firehose to replace them with underscores. This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is "a.b", you can define the column name to be "a_b" when using this option.The default is
false.
-
caseInsensitive
public final Boolean caseInsensitive()
When set to
true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.- Returns:
- When set to
true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.
-
hasColumnToJsonKeyMappings
public final boolean hasColumnToJsonKeyMappings()
For responses, this returns true if the service returned a value for the ColumnToJsonKeyMappings property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
-
columnToJsonKeyMappings
public final Map<String,String> columnToJsonKeyMappings()
Maps column names to JSON keys that aren't identical to the column names. This is useful when the JSON contains keys that are Hive keywords. For example,
timestampis a Hive keyword. If you have a JSON key namedtimestamp, set this parameter to{"ts": "timestamp"}to map this key to a column namedts.Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasColumnToJsonKeyMappings()method.- Returns:
- Maps column names to JSON keys that aren't identical to the column names. This is useful when the JSON
contains keys that are Hive keywords. For example,
timestampis a Hive keyword. If you have a JSON key namedtimestamp, set this parameter to{"ts": "timestamp"}to map this key to a column namedts.
-
toBuilder
public OpenXJsonSerDe.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<OpenXJsonSerDe.Builder,OpenXJsonSerDe>
-
builder
public static OpenXJsonSerDe.Builder builder()
-
serializableBuilderClass
public static Class<? extends OpenXJsonSerDe.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-