libZSservicesZSamazonka-kinesis-firehoseZSamazonka-kinesis-firehose
Copyright(c) 2013-2021 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone

Amazonka.Firehose.Types.OpenXJsonSerDe

Description

 
Synopsis

Documentation

data OpenXJsonSerDe Source #

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: newOpenXJsonSerDe smart constructor.

Constructors

OpenXJsonSerDe' 

Fields

  • columnToJsonKeyMappings :: Maybe (HashMap Text Text)

    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, timestamp is a Hive keyword. If you have a JSON key named timestamp, set this parameter to {"ts": "timestamp"} to map this key to a column named ts.

  • caseInsensitive :: Maybe Bool

    When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.

  • convertDotsInJsonKeysToUnderscores :: Maybe Bool

    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.

Instances

Instances details
Eq OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

Read OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

Show OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

Generic OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

Associated Types

type Rep OpenXJsonSerDe :: Type -> Type #

NFData OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

Methods

rnf :: OpenXJsonSerDe -> () #

Hashable OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

ToJSON OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

FromJSON OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

type Rep OpenXJsonSerDe Source # 
Instance details

Defined in Amazonka.Firehose.Types.OpenXJsonSerDe

type Rep OpenXJsonSerDe = D1 ('MetaData "OpenXJsonSerDe" "Amazonka.Firehose.Types.OpenXJsonSerDe" "libZSservicesZSamazonka-kinesis-firehoseZSamazonka-kinesis-firehose" 'False) (C1 ('MetaCons "OpenXJsonSerDe'" 'PrefixI 'True) (S1 ('MetaSel ('Just "columnToJsonKeyMappings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text Text))) :*: (S1 ('MetaSel ('Just "caseInsensitive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "convertDotsInJsonKeysToUnderscores") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)))))

newOpenXJsonSerDe :: OpenXJsonSerDe Source #

Create a value of OpenXJsonSerDe with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:columnToJsonKeyMappings:OpenXJsonSerDe', openXJsonSerDe_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, timestamp is a Hive keyword. If you have a JSON key named timestamp, set this parameter to {"ts": "timestamp"} to map this key to a column named ts.

$sel:caseInsensitive:OpenXJsonSerDe', openXJsonSerDe_caseInsensitive - When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.

$sel:convertDotsInJsonKeysToUnderscores:OpenXJsonSerDe', openXJsonSerDe_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.

openXJsonSerDe_columnToJsonKeyMappings :: Lens' OpenXJsonSerDe (Maybe (HashMap Text Text)) Source #

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, timestamp is a Hive keyword. If you have a JSON key named timestamp, set this parameter to {"ts": "timestamp"} to map this key to a column named ts.

openXJsonSerDe_caseInsensitive :: Lens' OpenXJsonSerDe (Maybe Bool) Source #

When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.

openXJsonSerDe_convertDotsInJsonKeysToUnderscores :: Lens' OpenXJsonSerDe (Maybe Bool) Source #

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.