Class TableOptimizerRun

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

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

Contains details for a table optimizer run.

See Also:
  • Method Details

    • eventType

      public final TableOptimizerEventType eventType()

      An event type representing the status of the table optimizer run.

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

      Returns:
      An event type representing the status of the table optimizer run.
      See Also:
    • eventTypeAsString

      public final String eventTypeAsString()

      An event type representing the status of the table optimizer run.

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

      Returns:
      An event type representing the status of the table optimizer run.
      See Also:
    • startTimestamp

      public final Instant startTimestamp()

      Represents the epoch timestamp at which the compaction job was started within Lake Formation.

      Returns:
      Represents the epoch timestamp at which the compaction job was started within Lake Formation.
    • endTimestamp

      public final Instant endTimestamp()

      Represents the epoch timestamp at which the compaction job ended.

      Returns:
      Represents the epoch timestamp at which the compaction job ended.
    • metrics

      @Deprecated public final RunMetrics metrics()
      Deprecated.
      Metrics has been replaced by optimizer type specific metrics such as IcebergCompactionMetrics

      A RunMetrics object containing metrics for the optimizer run.

      This member is deprecated. See the individual metric members for compaction, retention, and orphan file deletion.

      Returns:
      A RunMetrics object containing metrics for the optimizer run.

      This member is deprecated. See the individual metric members for compaction, retention, and orphan file deletion.

    • error

      public final String error()

      An error that occured during the optimizer run.

      Returns:
      An error that occured during the optimizer run.
    • compactionMetrics

      public final CompactionMetrics compactionMetrics()

      A CompactionMetrics object containing metrics for the optimizer run.

      Returns:
      A CompactionMetrics object containing metrics for the optimizer run.
    • compactionStrategy

      public final CompactionStrategy compactionStrategy()

      The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are:

      • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

      • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

      • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

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

      Returns:
      The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are:

      • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

      • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

      • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

      See Also:
    • compactionStrategyAsString

      public final String compactionStrategyAsString()

      The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are:

      • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

      • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

      • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

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

      Returns:
      The strategy used for the compaction run. Indicates which algorithm was applied to determine how files were selected and combined during the compaction process. Valid values are:

      • binpack: Combines small files into larger files, typically targeting sizes over 100MB, while applying any pending deletes. This is the recommended compaction strategy for most use cases.

      • sort: Organizes data based on specified columns which are sorted hierarchically during compaction, improving query performance for filtered operations. This strategy is recommended when your queries frequently filter on specific columns. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

      • z-order: Optimizes data organization by blending multiple attributes into a single scalar value that can be used for sorting, allowing efficient querying across multiple dimensions. This strategy is recommended when you need to query data across multiple dimensions simultaneously. To use this strategy, you must first define a sort order in your Iceberg table properties using the sort_order table property.

      See Also:
    • retentionMetrics

      public final RetentionMetrics retentionMetrics()

      A RetentionMetrics object containing metrics for the optimizer run.

      Returns:
      A RetentionMetrics object containing metrics for the optimizer run.
    • orphanFileDeletionMetrics

      public final OrphanFileDeletionMetrics orphanFileDeletionMetrics()

      An OrphanFileDeletionMetrics object containing metrics for the optimizer run.

      Returns:
      An OrphanFileDeletionMetrics object containing metrics for the optimizer run.
    • toBuilder

      public TableOptimizerRun.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<TableOptimizerRun.Builder,TableOptimizerRun>
      Returns:
      a builder for type T
    • builder

      public static TableOptimizerRun.Builder builder()
    • serializableBuilderClass

      public static Class<? extends TableOptimizerRun.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.