Skip to main content

Overview

Dell ECS (Enterprise Cloud Storage) is an on-premises object storage platform that provides S3-compatible APIs. Iceberg supports Dell ECS through the dedicated ECS catalog, available since version 0.15.0.

Prerequisites

  • Dell ECS installation with S3 API enabled
  • ECS access credentials (username and secret key)
  • Network access to ECS endpoint

Configuration Parameters

Warehouse Location Format

The warehouse property supports these formats:

Spark Integration

Starting Spark SQL Shell

Using the Catalog

PySpark Example

Java API

Important Limitations

Be aware of these limitations when using ECS catalog:

1. RENAME Operations

  • No transaction protection: RENAME statements are supported but without additional safeguards
  • Require manual coordination: Ensure all commits are finished before renaming a table
  • No data movement: RENAME only updates metadata; data files remain in original location
  • Potential path mismatch: Renamed tables may have data outside configured warehouse path

2. CAS (Compare-and-Swap) Operations

  • Checksum-based: ECS uses object checksums for atomic commits
  • Small collision probability: Very low but non-zero chance of checksum conflicts
  • Retry logic recommended: Implement retries for critical operations

3. Concurrent Access

  • Limited coordination: Less robust than cloud-native catalogs (Glue, DynamoDB)
  • Best for single-writer: Optimal when one writer per table
  • Careful with multi-writer: Test thoroughly if multiple writers are required

Best Practices

Organize data with namespace prefixes in warehouse path:
  • Track object operation latencies
  • Monitor storage capacity
  • Set up alerts for slow operations
  • Use ECS monitoring tools
Coordinate RENAME operations:
  • Use external locking mechanism
  • Schedule during maintenance windows
  • Document rename procedures

Security Configuration

SSL/TLS

Custom Trust Store

Troubleshooting

Connection Issues

Check:
  • ECS endpoint is reachable: curl http://10.1.2.3:9020
  • Firewall rules allow access
  • Correct port number (default: 9020 HTTP, 9021 HTTPS)
  • ECS service is running

Authentication Errors

Verify:
  • Username (access-key-id) is correct
  • Secret key is correct and not expired
  • User has S3 permissions in ECS
  • Bucket exists and user has access

Performance Issues

Investigate:
  • ECS cluster health and load
  • Network latency between Spark/Flink and ECS
  • ECS configuration (retention, replication)
  • Partition strategy (too many small files)

Metadata Conflicts

Solutions:
  • Implement retry logic with exponential backoff
  • Reduce concurrent writers
  • Check for checksum collisions in ECS logs

Version Compatibility

Migration Path

Migrating from other storage to ECS:

Next Steps

AWS S3 Storage

Configure cloud storage with S3

Custom FileIO

Implement custom storage backends