Class S3IcebergDirectTarget

java.lang.Object
software.amazon.awssdk.services.glue.model.S3IcebergDirectTarget
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<S3IcebergDirectTarget.Builder,S3IcebergDirectTarget>

@Generated("software.amazon.awssdk:codegen") public final class S3IcebergDirectTarget extends Object implements SdkPojo, Serializable, ToCopyableBuilder<S3IcebergDirectTarget.Builder,S3IcebergDirectTarget>

Specifies a target that writes to an Iceberg data source in Amazon S3.

See Also:
  • Method Details

    • name

      public final String name()

      Specifies the unique identifier for the Iceberg target node in your data pipeline.

      Returns:
      Specifies the unique identifier for the Iceberg target node in your data pipeline.
    • hasInputs

      public final boolean hasInputs()
      For responses, this returns true if the service returned a value for the Inputs property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
    • inputs

      public final List<String> inputs()

      Defines the single input source that provides data to this Iceberg target.

      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 hasInputs() method.

      Returns:
      Defines the single input source that provides data to this Iceberg target.
    • hasPartitionKeys

      public final boolean hasPartitionKeys()
      For responses, this returns true if the service returned a value for the PartitionKeys property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
    • partitionKeys

      public final List<List<String>> partitionKeys()

      Specifies the columns used to partition the Iceberg table data in S3.

      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 hasPartitionKeys() method.

      Returns:
      Specifies the columns used to partition the Iceberg table data in S3.
    • path

      public final String path()

      Defines the S3 location where the Iceberg table data will be stored.

      Returns:
      Defines the S3 location where the Iceberg table data will be stored.
    • format

      public final TargetFormat format()

      Specifies the file format used for storing Iceberg table data (e.g., Parquet, ORC).

      If the service returns an enum value that is not available in the current SDK version, format will return TargetFormat.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from formatAsString().

      Returns:
      Specifies the file format used for storing Iceberg table data (e.g., Parquet, ORC).
      See Also:
    • formatAsString

      public final String formatAsString()

      Specifies the file format used for storing Iceberg table data (e.g., Parquet, ORC).

      If the service returns an enum value that is not available in the current SDK version, format will return TargetFormat.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from formatAsString().

      Returns:
      Specifies the file format used for storing Iceberg table data (e.g., Parquet, ORC).
      See Also:
    • hasAdditionalOptions

      public final boolean hasAdditionalOptions()
      For responses, this returns true if the service returned a value for the AdditionalOptions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() 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.
    • additionalOptions

      public final Map<String,String> additionalOptions()

      Provides additional configuration options for customizing the Iceberg table behavior.

      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 hasAdditionalOptions() method.

      Returns:
      Provides additional configuration options for customizing the Iceberg table behavior.
    • schemaChangePolicy

      public final DirectSchemaChangePolicy schemaChangePolicy()

      Defines how schema changes are handled when writing data to the Iceberg table.

      Returns:
      Defines how schema changes are handled when writing data to the Iceberg table.
    • compression

      public final IcebergTargetCompressionType compression()

      Specifies the compression codec used for Iceberg table files in S3.

      If the service returns an enum value that is not available in the current SDK version, compression will return IcebergTargetCompressionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from compressionAsString().

      Returns:
      Specifies the compression codec used for Iceberg table files in S3.
      See Also:
    • compressionAsString

      public final String compressionAsString()

      Specifies the compression codec used for Iceberg table files in S3.

      If the service returns an enum value that is not available in the current SDK version, compression will return IcebergTargetCompressionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from compressionAsString().

      Returns:
      Specifies the compression codec used for Iceberg table files in S3.
      See Also:
    • numberTargetPartitions

      public final String numberTargetPartitions()

      Sets the number of target partitions for distributing Iceberg table files across S3.

      Returns:
      Sets the number of target partitions for distributing Iceberg table files across S3.
    • toBuilder

      public S3IcebergDirectTarget.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<S3IcebergDirectTarget.Builder,S3IcebergDirectTarget>
      Returns:
      a builder for type T
    • builder

      public static S3IcebergDirectTarget.Builder builder()
    • serializableBuilderClass

      public static Class<? extends S3IcebergDirectTarget.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • 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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.
    • sdkFieldNameToField

      public final Map<String,SdkField<?>> sdkFieldNameToField()
      Specified by:
      sdkFieldNameToField in interface SdkPojo
      Returns:
      The mapping between the field name and its corresponding field.