Class IcebergConfig

java.lang.Object
io.trino.plugin.iceberg.IcebergConfig

@DefunctConfig({"iceberg.allow-legacy-snapshot-syntax","iceberg.experimental.extended-statistics.enabled"}) public class IcebergConfig extends Object
  • Field Details

  • Constructor Details

    • IcebergConfig

      public IcebergConfig()
  • Method Details

    • getCatalogType

      public CatalogType getCatalogType()
    • setCatalogType

      @Config("iceberg.catalog.type") public IcebergConfig setCatalogType(CatalogType catalogType)
    • getFileFormat

      @NotNull public @NotNull IcebergFileFormat getFileFormat()
    • setFileFormat

      @Config("iceberg.file-format") public IcebergConfig setFileFormat(IcebergFileFormat fileFormat)
    • getCompressionCodec

      @NotNull public @NotNull HiveCompressionCodec getCompressionCodec()
    • setCompressionCodec

      @Config("iceberg.compression-codec") public IcebergConfig setCompressionCodec(HiveCompressionCodec compressionCodec)
    • isUseFileSizeFromMetadata

      @Deprecated public boolean isUseFileSizeFromMetadata()
      Deprecated.
    • setUseFileSizeFromMetadata

      @Deprecated @Config("iceberg.use-file-size-from-metadata") public IcebergConfig setUseFileSizeFromMetadata(boolean useFileSizeFromMetadata)
      Deprecated.
      Some Iceberg writers populate incorrect file sizes in the metadata. When this property is set to false, Trino ignores the stored values and fetches them with a getFileStatus call. This means an additional call per split, so it is recommended for a Trino admin to fix the metadata, rather than relying on this property for too long.
    • getMaxPartitionsPerWriter

      @Min(1L) public @javax.validation.constraints.Min(1L) int getMaxPartitionsPerWriter()
    • setMaxPartitionsPerWriter

      @Config("iceberg.max-partitions-per-writer") public IcebergConfig setMaxPartitionsPerWriter(int maxPartitionsPerWriter)
    • isUniqueTableLocation

      public boolean isUniqueTableLocation()
    • setUniqueTableLocation

      @Config("iceberg.unique-table-location") public IcebergConfig setUniqueTableLocation(boolean uniqueTableLocation)
    • getDynamicFilteringWaitTimeout

      @NotNull public @NotNull io.airlift.units.Duration getDynamicFilteringWaitTimeout()
    • setDynamicFilteringWaitTimeout

      @Config("iceberg.dynamic-filtering.wait-timeout") public IcebergConfig setDynamicFilteringWaitTimeout(io.airlift.units.Duration dynamicFilteringWaitTimeout)
    • isTableStatisticsEnabled

      public boolean isTableStatisticsEnabled()
    • setTableStatisticsEnabled

      @Config("iceberg.table-statistics-enabled") public IcebergConfig setTableStatisticsEnabled(boolean tableStatisticsEnabled)
    • isExtendedStatisticsEnabled

      public boolean isExtendedStatisticsEnabled()
    • setExtendedStatisticsEnabled

      @Config("iceberg.extended-statistics.enabled") public IcebergConfig setExtendedStatisticsEnabled(boolean extendedStatisticsEnabled)
    • isProjectionPushdownEnabled

      public boolean isProjectionPushdownEnabled()
    • setProjectionPushdownEnabled

      @Config("iceberg.projection-pushdown-enabled") public IcebergConfig setProjectionPushdownEnabled(boolean projectionPushdownEnabled)
    • isRegisterTableProcedureEnabled

      public boolean isRegisterTableProcedureEnabled()
    • setRegisterTableProcedureEnabled

      @Config("iceberg.register-table-procedure.enabled") public IcebergConfig setRegisterTableProcedureEnabled(boolean registerTableProcedureEnabled)
    • getHiveCatalogName

      public Optional<String> getHiveCatalogName()
    • setHiveCatalogName

      @Config("iceberg.hive-catalog-name") public IcebergConfig setHiveCatalogName(String hiveCatalogName)
    • getFormatVersion

      @Min(1L) @Max(2L) public @javax.validation.constraints.Min(1L),@javax.validation.constraints.Max(2L) int getFormatVersion()
    • setFormatVersion

      @Config("iceberg.format-version") public IcebergConfig setFormatVersion(int formatVersion)
    • getExpireSnapshotsMinRetention

      @NotNull public @NotNull io.airlift.units.Duration getExpireSnapshotsMinRetention()
    • setExpireSnapshotsMinRetention

      @Config("iceberg.expire_snapshots.min-retention") public IcebergConfig setExpireSnapshotsMinRetention(io.airlift.units.Duration expireSnapshotsMinRetention)
    • getRemoveOrphanFilesMinRetention

      @NotNull public @NotNull io.airlift.units.Duration getRemoveOrphanFilesMinRetention()
    • setRemoveOrphanFilesMinRetention

      @Config("iceberg.remove_orphan_files.min-retention") public IcebergConfig setRemoveOrphanFilesMinRetention(io.airlift.units.Duration removeOrphanFilesMinRetention)
    • getTargetMaxFileSize

      public io.airlift.units.DataSize getTargetMaxFileSize()
    • setTargetMaxFileSize

      @LegacyConfig("hive.target-max-file-size") @Config("iceberg.target-max-file-size") public IcebergConfig setTargetMaxFileSize(io.airlift.units.DataSize targetMaxFileSize)
    • isDeleteSchemaLocationsFallback

      public boolean isDeleteSchemaLocationsFallback()
    • setDeleteSchemaLocationsFallback

      @LegacyConfig("hive.delete-schema-locations-fallback") @Config("iceberg.delete-schema-locations-fallback") public IcebergConfig setDeleteSchemaLocationsFallback(boolean deleteSchemaLocationsFallback)
    • setMinimumAssignedSplitWeight

      @Config("iceberg.minimum-assigned-split-weight") public IcebergConfig setMinimumAssignedSplitWeight(double minimumAssignedSplitWeight)
    • getMinimumAssignedSplitWeight

      @DecimalMax("1") @DecimalMin(value="0", inclusive=false) public @javax.validation.constraints.DecimalMax("1"),@javax.validation.constraints.DecimalMin(value="0", inclusive=false) double getMinimumAssignedSplitWeight()
    • getMaterializedViewsStorageSchema

      @NotNull public @NotNull Optional<String> getMaterializedViewsStorageSchema()
    • setMaterializedViewsStorageSchema

      @Config("iceberg.materialized-views.storage-schema") public IcebergConfig setMaterializedViewsStorageSchema(String materializedViewsStorageSchema)
    • isSortedWritingEnabled

      public boolean isSortedWritingEnabled()
    • setSortedWritingEnabled

      @Config("iceberg.sorted-writing-enabled") public IcebergConfig setSortedWritingEnabled(boolean sortedWritingEnabled)