Skip to Content
SourcesApache Iceberg

Apache Iceberg

Required
Fields required for a valid configuration.
PathTypeRequiredDescriptionDefaultConstraints
requiredobjectYesno extra properties
required.bucketstringYesBucket holding the tables — AWS S3, MinIO, Cloudflare R2, Backblaze B2, Garage, and other S3-compatible endpoints
Masked
Sensitive fields under(secrets/credentials).
PathTypeRequiredDescriptionDefaultConstraints
maskedobjectNoOptional static credentials. Leave empty to use ambient AWS credentials chain.no extra properties
masked.aws_access_key_idstringNoS3-compatible access key ID
masked.aws_secret_access_keystringNoS3-compatible secret access key
masked.aws_session_tokenstringNoOptional session token for temporary credentials
Optional
Optional configuration fields.
PathTypeRequiredDescriptionDefaultConstraints
optionalobjectNono extra properties
optional.connectionobjectNoS3-compatible storage connection options (AWS S3, MinIO, Cloudflare R2, Backblaze B2, Garage, ...). Mirrors the S3 Compatible Storage source connection settings.no extra properties
optional.connection.endpoint_urlstringNoCustom endpoint URL for MinIO/R2/B2/Garage and other S3-compatible providersformat uri
optional.connection.max_keys_per_pageintegerNoMaximum objects requested per provider list API call during table discovery1000min 1, max 1000
optional.connection.region_namestringNoRegion (recommended for AWS; required by some S3-compatible providers)
optional.connection.request_timeout_secondsnumberNoNetwork timeout in seconds for storage list/read operations30min 1, max 300
optional.connection.verify_sslbooleanNoTLS certificate verification toggletrue
optional.scopeobjectNoApache Iceberg table selection scope within the bucket.no extra properties
optional.scope.prefixstringNoKey prefix to search for Apache Iceberg tables (e.g. warehouse/). Tables are auto-discovered by their metadata/ directory.
optional.scope.table_limitintegerNoOptional cap on number of table assetsmin 1
optional.scope.table_pathsarrayNoExplicit Apache Iceberg table root keys or s3:// URIs. When set, auto-discovery under prefix is skipped.
optional.scope.table_paths[]stringNo
Extracted Metadata

Table

FieldTypeRequiredDescription
databasestringYesDatabase or catalog name
table_namestringYesTable name
table_typestringYesObject type (TABLE/VIEW)
schemastringNoSchema name
columnsobject[]NoColumns as {name, type} objects
row_countintegerNoEstimated number of rows
format_versionintegerNoIceberg format version
snapshot_idstringNoCurrent snapshot id
partition_specstringNoPartition spec summary
sort_orderstringNoSort order summary
num_filesintegerNoNumber of data files in the current snapshot
Examples
Iceberg warehouse discovery scan
Auto-discover Iceberg tables under a warehouse prefix in an S3 bucket — no catalog service or Spark required

Config Payload

{
  "type": "ICEBERG",
  "required": {
    "bucket": "your-lakehouse-bucket"
  },
  "masked": {
    "aws_access_key_id": "your-access-key-id",
    "aws_secret_access_key": "your-secret-access-key"
  },
  "optional": {
    "scope": {
      "prefix": "warehouse/"
    }
  },
  "sampling": {
    "strategy": "AUTOMATIC",
    "rows_per_page": 50
  }
}

Schedule

{
  "enabled": true,
  "preset": "nightly",
  "cron": "37 2 * * *",
  "timezone": "UTC"
}
MinIO Iceberg tables PII scan
Scan specific Iceberg tables on a MinIO (S3-compatible) endpoint for PII exposure

Config Payload

{
  "type": "ICEBERG",
  "required": {
    "bucket": "your-lakehouse-bucket"
  },
  "masked": {
    "aws_access_key_id": "your-minio-access-key",
    "aws_secret_access_key": "your-minio-secret-key"
  },
  "optional": {
    "connection": {
      "endpoint_url": "https://minio.your-company.internal:9000",
      "region_name": "us-east-1"
    },
    "scope": {
      "table_paths": [
        "warehouse/analytics/events"
      ]
    }
  },
  "sampling": {
    "strategy": "AUTOMATIC",
    "rows_per_page": 30
  },
  "detectors": [
    {
      "type": "PII",
      "enabled": true
    }
  ]
}

Schedule

{
  "enabled": true,
  "preset": "weekday_morning",
  "cron": "19 7 * * 1-5",
  "timezone": "UTC"
}