/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Glue { namespace Model { /** *

Specifies skewed values in a table. Skewed values are those that occur with * very high frequency.

See Also:

AWS API * Reference

*/ class SkewedInfo { public: AWS_GLUE_API SkewedInfo(); AWS_GLUE_API SkewedInfo(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API SkewedInfo& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLUE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A list of names of columns that contain skewed values.

*/ inline const Aws::Vector& GetSkewedColumnNames() const{ return m_skewedColumnNames; } /** *

A list of names of columns that contain skewed values.

*/ inline bool SkewedColumnNamesHasBeenSet() const { return m_skewedColumnNamesHasBeenSet; } /** *

A list of names of columns that contain skewed values.

*/ inline void SetSkewedColumnNames(const Aws::Vector& value) { m_skewedColumnNamesHasBeenSet = true; m_skewedColumnNames = value; } /** *

A list of names of columns that contain skewed values.

*/ inline void SetSkewedColumnNames(Aws::Vector&& value) { m_skewedColumnNamesHasBeenSet = true; m_skewedColumnNames = std::move(value); } /** *

A list of names of columns that contain skewed values.

*/ inline SkewedInfo& WithSkewedColumnNames(const Aws::Vector& value) { SetSkewedColumnNames(value); return *this;} /** *

A list of names of columns that contain skewed values.

*/ inline SkewedInfo& WithSkewedColumnNames(Aws::Vector&& value) { SetSkewedColumnNames(std::move(value)); return *this;} /** *

A list of names of columns that contain skewed values.

*/ inline SkewedInfo& AddSkewedColumnNames(const Aws::String& value) { m_skewedColumnNamesHasBeenSet = true; m_skewedColumnNames.push_back(value); return *this; } /** *

A list of names of columns that contain skewed values.

*/ inline SkewedInfo& AddSkewedColumnNames(Aws::String&& value) { m_skewedColumnNamesHasBeenSet = true; m_skewedColumnNames.push_back(std::move(value)); return *this; } /** *

A list of names of columns that contain skewed values.

*/ inline SkewedInfo& AddSkewedColumnNames(const char* value) { m_skewedColumnNamesHasBeenSet = true; m_skewedColumnNames.push_back(value); return *this; } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline const Aws::Vector& GetSkewedColumnValues() const{ return m_skewedColumnValues; } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline bool SkewedColumnValuesHasBeenSet() const { return m_skewedColumnValuesHasBeenSet; } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline void SetSkewedColumnValues(const Aws::Vector& value) { m_skewedColumnValuesHasBeenSet = true; m_skewedColumnValues = value; } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline void SetSkewedColumnValues(Aws::Vector&& value) { m_skewedColumnValuesHasBeenSet = true; m_skewedColumnValues = std::move(value); } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline SkewedInfo& WithSkewedColumnValues(const Aws::Vector& value) { SetSkewedColumnValues(value); return *this;} /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline SkewedInfo& WithSkewedColumnValues(Aws::Vector&& value) { SetSkewedColumnValues(std::move(value)); return *this;} /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline SkewedInfo& AddSkewedColumnValues(const Aws::String& value) { m_skewedColumnValuesHasBeenSet = true; m_skewedColumnValues.push_back(value); return *this; } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline SkewedInfo& AddSkewedColumnValues(Aws::String&& value) { m_skewedColumnValuesHasBeenSet = true; m_skewedColumnValues.push_back(std::move(value)); return *this; } /** *

A list of values that appear so frequently as to be considered skewed.

*/ inline SkewedInfo& AddSkewedColumnValues(const char* value) { m_skewedColumnValuesHasBeenSet = true; m_skewedColumnValues.push_back(value); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline const Aws::Map& GetSkewedColumnValueLocationMaps() const{ return m_skewedColumnValueLocationMaps; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline bool SkewedColumnValueLocationMapsHasBeenSet() const { return m_skewedColumnValueLocationMapsHasBeenSet; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline void SetSkewedColumnValueLocationMaps(const Aws::Map& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps = value; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline void SetSkewedColumnValueLocationMaps(Aws::Map&& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps = std::move(value); } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& WithSkewedColumnValueLocationMaps(const Aws::Map& value) { SetSkewedColumnValueLocationMaps(value); return *this;} /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& WithSkewedColumnValueLocationMaps(Aws::Map&& value) { SetSkewedColumnValueLocationMaps(std::move(value)); return *this;} /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(const Aws::String& key, const Aws::String& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(key, value); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(Aws::String&& key, const Aws::String& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(std::move(key), value); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(const Aws::String& key, Aws::String&& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(key, std::move(value)); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(Aws::String&& key, Aws::String&& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(std::move(key), std::move(value)); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(const char* key, Aws::String&& value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(key, std::move(value)); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(Aws::String&& key, const char* value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(std::move(key), value); return *this; } /** *

A mapping of skewed values to the columns that contain them.

*/ inline SkewedInfo& AddSkewedColumnValueLocationMaps(const char* key, const char* value) { m_skewedColumnValueLocationMapsHasBeenSet = true; m_skewedColumnValueLocationMaps.emplace(key, value); return *this; } private: Aws::Vector m_skewedColumnNames; bool m_skewedColumnNamesHasBeenSet = false; Aws::Vector m_skewedColumnValues; bool m_skewedColumnValuesHasBeenSet = false; Aws::Map m_skewedColumnValueLocationMaps; bool m_skewedColumnValueLocationMapsHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws